Поделюсь сегодняшним открытием.
Функция Get WF subset дико тормозная. Понимаю, конечно, что она универсальная и всё такое, но не на столько же.
Дали мне задачу впихнуть код в старый контроллер, а он не лезет. Стал копать, что именно тормозит, и через профайлер обнаружил, что эта функция выполняется дольше всего. Поменял её на примитивы, и всё летать стало.
Ради любопытства сделал тест, и результат "превзошёл" все ожидания.
К тому же в моей задаче мне нужно разделить массив на последовательные части, поэтому вычислений ещё меньше, но пара делений погоды не делает. Однако... использование этой функции можно оправдять только гигантской ленью или переизбытком вычислительной мощности.
Получается, что Get WF subset выполняется в миллион раз медленее, чем то же самое действие на примитивах
WF subset тормозит (наблюдение)
-
- beginner
- Сообщения: 28
- Зарегистрирован: 16 авг 2022, 17:07
- Версия LabVIEW: 2021
- Откуда: Санкт-Петербург
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: WF subset тормозит (наблюдение)
Для тестирования идеи штатные функции нормально подходят, но не для приложений. Туда пихают все и на все случаи жизни, бывают сюрпризы в виде включенного дебага в какой-нибудь подфункции, инициализации массива при каждом вызове и т.д.. В новых функциях полное бракоделие
-
- professor
- Сообщения: 3538
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 56 раз
- Поблагодарили: 189 раз
- Контактная информация:
Re: WF subset тормозит (наблюдение)
Соглашусь, что порой там много мусора, но это не здоровый подход.
Готовые функции нужны для того, чтобы ускорять разработку, а не только тестировать концепции.
Иначе можно и до ассемблера дойти, или купить, например, Sount-vibration тулкит, протестировать гипотезу, а потом всё руками собирать.
-
- beginner
- Сообщения: 28
- Зарегистрирован: 16 авг 2022, 17:07
- Версия LabVIEW: 2021
- Откуда: Санкт-Петербург
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: WF subset тормозит (наблюдение)
Когда-то так и сделал, когда нужна производительность все приходится разрабатывать под себя.
Даже мощные компы иногда не помогают