Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
PS по поводу ускорений-замедлений. Принято прикладывать таблички с замерами времени. При этом, запуски должны производиться в одинаковых условиях и не менее 5 раз
Вот такие замеры (пункт Benchmark здесь).
Результаты.
И это не придирки на пустом месте. На глаз отлично видно, как сказывается на расчетах.
Строка для поиска: Oshibka 104.
Вот такие замеры (пункт Benchmark здесь).
Результаты.
Но тут нет 10% разницы. ExpertRemove скорее всего экономит время на процедуру подсчета статистик на штатном завершении и сразу завершает программу. Init failed аналогично экономит завершение.
Плюс роль играет погрешность на замерах 180 мс на проход.
b4260, отсутствует оптимизация компилятора.
И это не придирки на пустом месте. На глаз отлично видно, как сказывается на расчетах.
Строка для поиска: Oshibka 104.
В первом случае тройная проверка индексированного доступа, а во второй одно индексирование с последовательным заполнение одного блока, что хорошо оптимизируется. Требования безопасности языка не позволяет пропускать контроль индексного доступа.
Мы уже пару месяцев работаем над новой версией компилятора, где оптимизация будет гораздо лучше. Возможно, справимся с такими случаями последовательного обращения к одинаково индексируемым объектам.
Но тут нет 10% разницы.
К сожалению, не сохранил OnStart2, что показывал такую разницу.
ExpertRemove скорее всего экономит время на процедуру подсчета статистик на штатном завершении и сразу завершает программу. Init failed аналогично экономит завершение.
Замер времени внутри OnStart2. Никакого отношения к ExpertRemove не имеет.
Плюс роль играет погрешность на замерах 180 мс на проход.
Увеличил в несколько раз длительность.
Разница 9%. Все такая же зависимость от void/int OnInit и ExpertRemove.
У меня просто оптимизация в одном случае идет условно 100 секунд, в другом - ~110. Это невозможно не заметить. Воспроизводится всегда.
Требования безопасности языка не позволяет пропускать контроль индексного доступа.
Не знал, что на каждом Array[i] идет проверка 0<=i<Array.Size().
Мы уже пару месяцев работаем над новой версией компилятора, где оптимизация будет гораздо лучше. Возможно, справимся с такими случаями последовательного обращения к одинаково индексируемым объектам.
Получается, что можно ускорить и такое.
В матрицах и векторах такой же конроль идексного доступа?
Не знал, что на каждом Array[i] идет проверка 0<=i<Array.Size().
b4260, ArrayRemove для массивов простых структур работает медленнее решения с контролем индексного доступа.
Т.е. простой сдвиг влево одинакового куска памяти работает медленнее кастомного решения.
Строка для поиска: Oshibka 105.
А можно завести флажков про то что:
ChartFirst, OrdersTotal, OrdersHistoryTotal, SymbolsTotal,CustomTicksAdd, CustomRatesUpdate, ObjectsTotal
потенциально будут долго исполняться, ибо внутренняя кухня не синхронизована и на их вызове прямо сейчас можно встрять по скорости?
по логике зачастую их можно и переповторить позже. Это не столь критично как потеря темпа.