Всем,добрый день,
Предлагаю обсудить проблему тормозов при старте терминала.
-------------------
До последней прошедшей недели пользовался версией 8.7
Неоднократно пытался установить более свежую версию, но всегда получал тормоза и возвращался к 8.7
-------------------
На прошедшей неделе Сбербанк перешел на единый счет и мне пришлось устанавливать версии 12
так как исчезли параметры по фьючерсам.
-----------------------
Сначала установил версию 12.6 которая выложена у Сбербанка.
Получил увеличение объема занятой памяти терминалом в 2 раза с 600 Мбайт до 1200Мбайт и жуткие тормоза
--------------------------
По совету разработчиков установил новую версию 12.8.4
Объем занимаемой памяти при старте сократился с 1200 до 900.
Почему он изменяется ?
-----------------------------
Самое странное, что во время торгов объем занимаемой памяти постепенно уменьшается.
Если никаких действий не совершать , то объем занимаемой памяти сокращается до 50Мбайт.
Но если начать что-то делать, то он снова увеличивается, но не более 700, а иногда и не более 350Mбайт.
--------------------
Трудно что-либо придумать почему так происходит.
--------------------------
Но так как максимальный объем всегда получается при старте и это приводит к очень длительной загрузки, то
давайте обсудим возможные причины этого.
----------------------------
Время старта можно разделить на три этапа.
Первый - запуск терминал.
Второй -ввод пароля
Третий- ввод кода со смартфона.
-------------------
самый короткий интервал - второй. Задержки при нем пока не будем рассматривать.
-----------------
Сначала я предположил, как и многие на форуме, что проблема медленной загрузки в длительном получении начальной информации с сервера брокера.
Но теперь у меня другая рабочая гипотеза.
=================
Основа ее в том, что время первого и третьего этапов одинаковое.
Характерно , первый и третий этапы имеют одинаковое значение времени исполнения -в моем случае это по 4 минуты каждый.
Но в первом этапе нет никакой связи с сервером.
Получается, что соединение с сервером не влияет ни на объем занимаемой памяти ни на время старта.
=================
Поэтому я считаю, что указанные проблемы (время старта и объем занимаемой памяти )
связаны исключительно с вычислениями, которые совершает терминал при старте.
=====================
Более того, эта гипотеза подтверждается тем, что в третьем этапе терминал сначала уменьшает объем занятой памяти
до 350 Мбайт. А потом медленно начинает увеличивать его до тех же 900 Мбайт что и в первом этапе.
=====================
Как правило время и занятая память у всех пользователей разные.
Это связано с конкретной настройкой интерфейса. Т е числом окон с графиками, числом таблиц и стаканов и числом скриптов на Lua.
=====================
Полагаю, что максимальный объем памяти в момент старта возникает по причине, возможно не единственной, но одной из основных,
РАСЧЕТА ИНДИКАТОРОВ НА LUA.
========================
Известно, что индикаторы на луа вычисляются несколько раз при открытии графика.
----------------------------------------
В результате такого расчета возникает куча мусора от этих расчетов, так как сборщик мусора при старте не работает.
------------------------
В начале третьего этапе терминал удаляет все расчеты первого этапа и память сокращается.
-------------------------
Так как у меня установлена подписка вручную, то ничего нового при соединении с сервером не приходит.
---------------------------------
Терминал снова начинает свой расчет индикаторов и графиков и это увеличивает объем памяти до максимума для всей сессии.
-------------------------
Но это еще не все.
Длительный расчет индикаторов и графиков при старте связан с тем, что хотя все свечи от первой до последней имеются в начале расчета,
Расчет индикаторов, а возможно и построение графиков выполняется для каждой свечи отдельно в цикле Calculate.
Так как большинство индикаторов - это интегральная обработка данных в окне,
то при 3000 свечах (это то что сохраняет сервер) для каждого индикатора
в цикле при старте вычисления в скользящем окне выполняются 3000 и более раз.
Если история сохраняется на ПК, то со временем тормоза и объем занимаемой памяти растет.
--------------------------------
Предположу, что это тупиковый момент в развитии QUIK и он требует кардинальных изменений.
---------------------------
Еще заметил, что число подписанных инструментов не влияет на объем и время при старте.
------------------------
Резюме:
На объем и время при старте влияет повторный расчет индикаторов на Lua,
циклический расчет индикаторов (возможно и графиков) для каждой свечи при старте
и размер сохраненной истории, по которым считаются эти индикаторы.
----------------------------
Тот факт, что объем памяти при старте версии 12.6 на 300 Мбайт больше, чем при старте версии 12.8 говорит о том,
что, как говорил сатирик "что-то не так в консерватории"
-------------------------
Возможно, решением было бы исключение повторных расчетов индикаторов и принудительный запуск сборщика мусора при завершении третьего этапа.
-------------------------
Исследования продолжаются....
=========================
P.S. В настоящее время кувыркаюсь с единим счетом. Постоянно исчезают позиции по фьючерсам.
Кроме того, как уже писал на форуме,но без ответа, сваливание в кучу информации об акциях и фьючерсах имеет не только систематические ошибки, но и противоречит ФЗ "О рынке ЦБ"
Но это уже другая история
Предлагаю обсудить проблему тормозов при старте терминала.
-------------------
До последней прошедшей недели пользовался версией 8.7
Неоднократно пытался установить более свежую версию, но всегда получал тормоза и возвращался к 8.7
-------------------
На прошедшей неделе Сбербанк перешел на единый счет и мне пришлось устанавливать версии 12
так как исчезли параметры по фьючерсам.
-----------------------
Сначала установил версию 12.6 которая выложена у Сбербанка.
Получил увеличение объема занятой памяти терминалом в 2 раза с 600 Мбайт до 1200Мбайт и жуткие тормоза
--------------------------
По совету разработчиков установил новую версию 12.8.4
Объем занимаемой памяти при старте сократился с 1200 до 900.
Почему он изменяется ?
-----------------------------
Самое странное, что во время торгов объем занимаемой памяти постепенно уменьшается.
Если никаких действий не совершать , то объем занимаемой памяти сокращается до 50Мбайт.
Но если начать что-то делать, то он снова увеличивается, но не более 700, а иногда и не более 350Mбайт.
--------------------
Трудно что-либо придумать почему так происходит.
--------------------------
Но так как максимальный объем всегда получается при старте и это приводит к очень длительной загрузки, то
давайте обсудим возможные причины этого.
----------------------------
Время старта можно разделить на три этапа.
Первый - запуск терминал.
Второй -ввод пароля
Третий- ввод кода со смартфона.
-------------------
самый короткий интервал - второй. Задержки при нем пока не будем рассматривать.
-----------------
Сначала я предположил, как и многие на форуме, что проблема медленной загрузки в длительном получении начальной информации с сервера брокера.
Но теперь у меня другая рабочая гипотеза.
=================
Основа ее в том, что время первого и третьего этапов одинаковое.
Характерно , первый и третий этапы имеют одинаковое значение времени исполнения -в моем случае это по 4 минуты каждый.
Но в первом этапе нет никакой связи с сервером.
Получается, что соединение с сервером не влияет ни на объем занимаемой памяти ни на время старта.
=================
Поэтому я считаю, что указанные проблемы (время старта и объем занимаемой памяти )
связаны исключительно с вычислениями, которые совершает терминал при старте.
=====================
Более того, эта гипотеза подтверждается тем, что в третьем этапе терминал сначала уменьшает объем занятой памяти
до 350 Мбайт. А потом медленно начинает увеличивать его до тех же 900 Мбайт что и в первом этапе.
=====================
Как правило время и занятая память у всех пользователей разные.
Это связано с конкретной настройкой интерфейса. Т е числом окон с графиками, числом таблиц и стаканов и числом скриптов на Lua.
=====================
Полагаю, что максимальный объем памяти в момент старта возникает по причине, возможно не единственной, но одной из основных,
РАСЧЕТА ИНДИКАТОРОВ НА LUA.
========================
Известно, что индикаторы на луа вычисляются несколько раз при открытии графика.
----------------------------------------
В результате такого расчета возникает куча мусора от этих расчетов, так как сборщик мусора при старте не работает.
------------------------
В начале третьего этапе терминал удаляет все расчеты первого этапа и память сокращается.
-------------------------
Так как у меня установлена подписка вручную, то ничего нового при соединении с сервером не приходит.
---------------------------------
Терминал снова начинает свой расчет индикаторов и графиков и это увеличивает объем памяти до максимума для всей сессии.
-------------------------
Но это еще не все.
Длительный расчет индикаторов и графиков при старте связан с тем, что хотя все свечи от первой до последней имеются в начале расчета,
Расчет индикаторов, а возможно и построение графиков выполняется для каждой свечи отдельно в цикле Calculate.
Так как большинство индикаторов - это интегральная обработка данных в окне,
то при 3000 свечах (это то что сохраняет сервер) для каждого индикатора
в цикле при старте вычисления в скользящем окне выполняются 3000 и более раз.
Если история сохраняется на ПК, то со временем тормоза и объем занимаемой памяти растет.
--------------------------------
Предположу, что это тупиковый момент в развитии QUIK и он требует кардинальных изменений.
---------------------------
Еще заметил, что число подписанных инструментов не влияет на объем и время при старте.
------------------------
Резюме:
На объем и время при старте влияет повторный расчет индикаторов на Lua,
циклический расчет индикаторов (возможно и графиков) для каждой свечи при старте
и размер сохраненной истории, по которым считаются эти индикаторы.
----------------------------
Тот факт, что объем памяти при старте версии 12.6 на 300 Мбайт больше, чем при старте версии 12.8 говорит о том,
что, как говорил сатирик "что-то не так в консерватории"
-------------------------
Возможно, решением было бы исключение повторных расчетов индикаторов и принудительный запуск сборщика мусора при завершении третьего этапа.
-------------------------
Исследования продолжаются....
=========================
P.S. В настоящее время кувыркаюсь с единим счетом. Постоянно исчезают позиции по фьючерсам.
Кроме того, как уже писал на форуме,но без ответа, сваливание в кучу информации об акциях и фьючерсах имеет не только систематические ошибки, но и противоречит ФЗ "О рынке ЦБ"
Но это уже другая история