Больше агентов — меньше скорость! WTF!?

 

Наткнулся на интересного советника, использующего кастумный индикатор, подключенный в виде ресурса.

При оптимизации на одном ядре один проход занимает 10 секунд. При оптимизации на двух ядрах — 20 секунды. На трех — 40 секунд. На четырех — 60.

Перебираемый параметр на скорость работы не влияет. Памяти агенты используют не много (свободной достаточно). Работы с файлами нет.

Опытным путем определил, что проблема в индикаторе, но понять причин так и не смог (всех исходников индикатора нет).
За какой ресурс может бороться индикатор, запущенный на разных агентах?


@Slava, интересно посмотреть? Бросить в личку?

 
Andrey Khatimlianskii:

Наткнулся на интересного советника, использующего кастумный индикатор, подключенный в виде ресурса.

При оптимизации на одном ядре один проход занимает 10 секунд. При оптимизации на двух ядрах — 20 секунды. На трех — 40 секунд. На четырех — 60.

Перебираемый параметр на скорость работы не влияет. Памяти агенты используют не много (свободной достаточно). Работы с файлами нет.

Опытным путем определил, что проблема в индикаторе, но понять причин так и не смог (всех исходников индикатора нет).
За какой ресурс может бороться индикатор, запущенный на разных агентах?


@Slava, интересно посмотреть? Бросить в личку?

Попробуй его из ресурсов убрать. Ранее (года три наверное назад) замечал, что индикаторы, подключенные ресурсами сильно тормозили тестер. Сейчас не проверял.

 
Artyom Trishkin:

Попробуй его из ресурсов убрать. Ранее (года три наверное назад) замечал, что индикаторы, подключенные ресурсами сильно тормозили тестер. Сейчас не проверял.

Нет, без ресурса результат такой же.

 
Andrey Khatimlianskii:

Нет, без ресурса результат такой же.

Ясно. Вычеркиваем :)
 
Andrey Khatimlianskii:

Наткнулся на интересного советника, использующего кастумный индикатор, подключенный в виде ресурса.

При оптимизации на одном ядре один проход занимает 10 секунд. При оптимизации на двух ядрах — 20 секунды. На трех — 40 секунд. На четырех — 60.

Перебираемый параметр на скорость работы не влияет. Памяти агенты используют не много (свободной достаточно). Работы с файлами нет.

Опытным путем определил, что проблема в индикаторе, но понять причин так и не смог (всех исходников индикатора нет).
За какой ресурс может бороться индикатор, запущенный на разных агентах?


@Slava, интересно посмотреть? Бросить в личку?

Да. Очень интересно.

Только не обещаю, что посмотрю быстро

 
Slava:

Да. Очень интересно.

Только не обещаю, что посмотрю быстро

Готово.

Напишите тут, когда разберетесь.

 

Описанное поведение не воспроизводится

8 агентов

2019.07.10 13:53:22.200 Tester  optimization finished, total passes 24
2019.07.10 13:53:22.211 Statistics      optimization done in 0 minutes 14 seconds
2019.07.10 13:53:22.211 Statistics      shortest pass 0:00:04.160, longest pass 0:00:05.103, average pass 0:00:04.455

4 агента

2019.07.10 13:54:49.631 Tester  optimization finished, total passes 24
2019.07.10 13:54:49.642 Statistics      optimization done in 0 minutes 25 seconds
2019.07.10 13:54:49.642 Statistics      shortest pass 0:00:04.015, longest pass 0:00:04.331, average pass 0:00:04.157

2 агента

2019.07.10 13:56:35.464 Tester  optimization finished, total passes 24
2019.07.10 13:56:35.475 Statistics      optimization done in 0 minutes 49 seconds
2019.07.10 13:56:35.475 Statistics      shortest pass 0:00:03.966, longest pass 0:00:04.288, average pass 0:00:04.026

1 агент

2019.07.10 13:59:05.621 Statistics      optimization done in 1 minutes 34 seconds
2019.07.10 13:59:05.621 Statistics      shortest pass 0:00:03.784, longest pass 0:00:04.256, average pass 0:00:03.916
2019.07.10 13:59:05.621 Statistics      local 24 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


205 - 210 строки

        // Оригинальный индикатор - тормозит!
        HRSI = iCustom(SYMBOL, PERIOD_CURRENT, "::" + DEF_RSI, Psrc, Plen, Pperiod, Pmult, 
                                                        35, clrRed, STYLE_SOLID, 1, 50, clrSilver, STYLE_SOLID, 1, 65, clrBlue, STYLE_SOLID, 1);

        // Мой индикатор - работает быстро
        //HRSI = iCustom( SYMBOL, PERIOD_CURRENT, "::" + DEF_RSI_NEW, Psrc, Plen, Pperiod, Pmult );
Файлы:
20190710.log  30 kb
 
Slava:

Описанное поведение не воспроизводится

Билд какой? В последних не проверял, займусь.

 
Andrey Khatimlianskii:

Билд какой? В последних не проверял, займусь.

2094. Внутренний билд. С точки зрения тестера полный аналог беты 2093.
 
Slava:
2094. Внутренний билд. С точки зрения тестера полный аналог беты 2093.

Только что воспроизвел на 2093:


 

Посмотрим.

Моё исправление в 205-210 строке было верным?

Причина обращения: