Работа колбеков

Страницы: 1
RSS
Работа колбеков
 
Просто наблюдение. Пока не могу подтвердить реальным тестом.

В последних версиях терминала, по ощущениям начиная с 12-ой, наличие колбека в скрипте стало ощутимо "тормозить" терминал.
Естественно и раннее колбек использовался только для передачи в очередь. Но теперь даже это приводит к периодическим замираниям терминала.
Особенно если у скрипта есть и окно со своим колбеком на обновление.

Наблюдаю у разных брокеров. Есть те, у кого это, можно сказать, постоянно. А есть те, у кого это только в периоды повышенной ликвидности.

Сильнее это проявляется если запустить несколько скриптов и даже в спокойное время. При этом на демо Quik Junior, где поток данных очевидно низкий, это малозаметно.

Хотелось бы понять - это у меня что-то вылезло и надо глубоко копать или такое есть и других.

Примечательно, что есть скрипт из одной строки запускающий dll реализующий jRPC сервер из Квика на плюсах. И если подписаться в нём на OnQuote, то происходит то же самое. Казалось бы - библиотека на ++, нет окон - а терминал не даёт переключить закладки, думает.
 
Ок. Сделал нагрузочный тест https://disk.360.yandex.ru/d/P7xB_poL0QlKfAВерсия терминала 13.02.20. Реальный брокер.

Создаётся простая таблица. По списку (всего 7) инструментов выводятся данные.

Чтобы была какая-то нагрузка, то берем два колбека OnParam и OnQuote. Данные в таблицу выводятся только из main. В колбеке OnParam вызывается getParamEx несколько раз (нагрузка же).

OnQuote только для записи флага. Чтение DOM тоже в main.

Чтобы хоть как-то смоделировать реальный скрипт, созданы библиотеки заглушки с большим число функций. В main вызывается по одной функции из них.

В итоге скрипт занимает примерно 1 мб. Что не так и много.

Запускаю на реальном брокере  и терминал "умирает". Не совсем, но уже ощутимо видно как таблица текущих торгов, да и весь интерфейс, перестаёт работать "плавно".
В таблице данные выводятся с задержками, приходится "пинать окно" (вспоминаем тему https://forum.quik.ru/messages/forum10/message49120/topic3777/#message49120)

Также на этом примере можно увидеть (по крайней мере у меня), что если не подключать большие библиотеки, то уже всё заметно живее. Т.е. банальный размер скрипта влияет.

При этом в более старых версиях терминала не замечалось особого влияния размера скрипта на работу.
 
можете сделать вывод времени входа и выхода для колбеков и для  main  c помощью точного счетчик Windows?
Страницы: 1
Читают тему
Наверх