К сожалению под новой компиляцией действительно падает скорость.
Старый
2018.06.2316:04:06.490 Core 8 Si Splice,M1: 2805248 ticks, 701593 bars generated. Environment synchronized in0:00:00.110. Test passed in0:02:33.645 (including ticks preprocessing 0:00:00.577).
2018.06.2316:04:06.490 Core 8 Si Splice,M1: total time from login to stop testing 0:02:33.755 (including 0:00:00.110for history data synchronization)
Новый
2018.06.2321:31:13.812 Core 8 Si Splice,M1: 2805248 ticks, 701593 bars generated. Environment synchronized in0:00:00.109. Test passed in0:02:38.029 (including ticks preprocessing 0:00:00.593).
2018.06.2321:31:13.812 Core 8 Si Splice,M1: total time from login to stop testing 0:02:38.138 (including 0:00:00.109for history data synchronization)
По всей видимости эти функции работают быстрей, чем новые встроенные, так как их сейчас пришлось отключить для компиляции без ошибок.
//+------------------------------------------------------------------+ //| Получим IOpen для заданного номера бара | //+------------------------------------------------------------------+ double iOpen_(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
double open=0;
int copied=CopyOpen(symbol,timeframe,index,1,OpenI);
if(copied>0) open=OpenI[0];
return(open);
}
//+------------------------------------------------------------------+ //| Получим iLow для заданного номера бара | //+------------------------------------------------------------------+ double iLow_(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
double low=0;
int copied=CopyLow(symbol,timeframe,index,1,LowI);
if(copied>0) low=LowI[0];
return(low);
}
//+------------------------------------------------------------------+ //| Получим iHigh для заданного номера бара | //+------------------------------------------------------------------+ double iHigh_(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
double high=0;
int copied=CopyHigh(symbol,timeframe,index,1,HighI);
if(copied>0) high=HighI[0];
return(high);
}
//+------------------------------------------------------------------+ //| Получим iClose для заданного номера бара | //+------------------------------------------------------------------+ double iClose_(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
double close=0;
int copied=CopyClose(symbol,timeframe,index,1,CloseI);
if(copied>0) close=CloseI[0];
return(close);
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int iBarShift_(string symbol,int tf,datetime time,bool exact=false)
{
if(time<0) return(-1);
ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
datetime Arr[],time1;
CopyTime(symbol,timeframe,0,1,Arr);
time1=Arr[0];
if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
{
if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
if(time<time1) return(1);
elsereturn(0);
}
elsereturn(-1);
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+datetime iTime_(string symbol,int tf,int index)
{
if(index < 0) return(-1);
ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
datetime Arr[];
if(CopyTime(symbol,timeframe,index,1,Arr)>0)
return(Arr[0]);
elsereturn(-1);
}
К сожалению под новой компиляцией действительно падает скорость.
Доказательства нужны железобетонные, а не на основе одиночного запуска. У вас разница в 4.5 секунды на 153 секундном промежутке, всего 3% и выглядит как погрешность.
Учтите, что в терминале и агентах огромнейшее влияние имеют кеши, накопленные данные и разные состояния горячести. Даже файловый кеш операционки запросто даст видимую разницу.
Чтобы результаты тестов были достоверными, нужно удовлетворить следующие условия:
Убрать все лишние программы, вплоть до броузеров. Вне зависимости от того, что вы думаете о "да это не влияет, я же вижу что там 0-1% нагрузки".
Перевести режим энергосбережения операционки в "Максимальная производительность" (а лучше выключить C-states в биосе), чтобы не скакала частота CPU и не чередовались режимы бустинга ядер.
Это одна из самых частых ошибок в замерах производительности, когда люди вообще не обращают внимания, что у них частота процессора в рилтайме плавает от 1.5 до 3 ггц. Разброс это дает в десятки процентов иногда. У вас 3% разницы.
Да, это надо делать и на десктопе, а не только на ноутбуке. Все процессоры давным давно работают в энергосберегающем режиме и при первой же возможности понижают частоту.
Представить полные тестовые файлы и описания всех условий тестирования для публичного воспроизведения.
Да, это обязательно.
Провести 1 полное тестирование в обоих случаях, чтобы удостовериться, что все данные подкачаны на агента
Выгрузить терминалы, чтобы не оставались в памяти горячие кеши и фоновой поднятый агент с кешами
Терминал держит использованных агентов фоном в активном состоянии, что дает серьезное ускорение на повторных запусках за счет горячих кешей. Выгрузка терминала приводит к выгрузке фоновых агентов и сбросу кешей.
Запустить терминал и провести 3 одиночные теста в каждом режиме, обязательно перезапуская терминал, чтобы был холодный тест
После этого публикация 6 отчетов с указанием, что выполнены 6 условий выше, может приниматься как минимально приемлемое тестирование.
"Ренат, только перед отключением х32 наладьте запуск х64 под вайном,
пожалуйста. Если не хотите/не будете, то тоже скажите, чтобы было время
продумать варианты."
Я сам не пробовал на х64, но помню, что люди жаловались на то, что не запускается, с тех пор и сижу на х32.
"Ренат, только перед отключением х32 наладьте запуск х64 под вайном,
пожалуйста. Если не хотите/не будете, то тоже скажите, чтобы было время
продумать варианты."
Я сам не пробовал на х64, но помню, что люди жаловались на то, что не запускается, с тех пор и сижу на х32.
С прошлой зимы все давно работает в 64 битном вайне. Или даже раньше.
Доказательства нужны железобетонные, а не на основе одиночного запуска. У вас разница в 4.5 секунды на 153 секундном промежутке, всего 3% и выглядит как погрешность.
Учтите, что в терминале и агентах огромнейшее влияние имеют кеши, накопленные данные и разные состояния горячести. Даже файловый кеш операционки запросто даст видимую разницу.
Чтобы результаты тестов были достоверными, нужно удовлетворить следующие условия:
Убрать все лишние программы, вплоть до броузеров. Вне зависимости от того, что вы думаете о "да это не влияет, я же вижу что там 0-1% нагрузки".
Перевести режим энергосбережения операционки в "Максимальная производительность" (а лучше выключить C-states в биосе), чтобы не скакала частота CPU и не чередовались режимы бустинга ядер.
Это одна из самых частых ошибок в замерах производительности, когда люди вообще не обращают внимания, что у них частота процессора в рилтайме плавает от 1.5 до 3 ггц. Разброс это дает в десятки процентов иногда. У вас 3% разницы.
Да, это надо делать и на десктопе, а не только на ноутбуке. Все процессоры давным давно работают в энергосберегающем режиме и при первой же возможности понижают частоту.
Представить полные тестовые файлы и описания всех условий тестирования для публичного воспроизведения.
Да, это обязательно.
Провести 1 полное тестирование в обоих случаях, чтобы удостовериться, что все данные подкачаны на агента
Выгрузить терминалы, чтобы не оставались в памяти горячие кеши и фоновой поднятый агент с кешами
Терминал держит использованных агентов фоном в активном состоянии, что дает серьезное ускорение на повторных запусках за счет горячих кешей. Выгрузка терминала приводит к выгрузке фоновых агентов и сбросу кешей.
Запустить терминал и провести 3 одиночные теста в каждом режиме, обязательно перезапуская терминал, чтобы был холодный тест
После этого публикация 6 отчетов с указанием, что выполнены 6 условий выше, может приниматься как минимально приемлемое тестирование.
Да, конечно Вы правы, своими силами мне не выяснить истину в данном вопросе! Уровень мой слишком мал.
Можете экспертное дать заключение, какие функции быстрей, мной ранее использованные или те, что сейчас интегрированы в язык?
Просто я сравнил в своих условиях два варианта, увидел стабильную разницу, но быть может действительно, так получается случайно, что-то то всегда из внешних факторов заставляет компьютер работать медленней, ну к примеру какие либо службы шуршат на SSD с определенной периодичностью - не знаю, не могу создать лабораторный условий для своих утверждений.
Может и правда, лучше заткнуться и ничего не писать....
Я просто пытался донести до Вас, что проверить Вам мою гипотезу проще и надежней, а если она верна, то и полезней.
«Гипотезы» принимаются только после чистого доказательства.
Я достаточно потрудился, чтобы показать как и почему надо проводить чистые тесты. Бегать повторять за каждым пустым вбросом у меня нет ни желания, ни возможностей.
К сожалению под новой компиляцией действительно падает скорость.
По всей видимости эти функции работают быстрей, чем новые встроенные, так как их сейчас пришлось отключить для компиляции без ошибок.
К сожалению под новой компиляцией действительно падает скорость.
Доказательства нужны железобетонные, а не на основе одиночного запуска. У вас разница в 4.5 секунды на 153 секундном промежутке, всего 3% и выглядит как погрешность.
Учтите, что в терминале и агентах огромнейшее влияние имеют кеши, накопленные данные и разные состояния горячести. Даже файловый кеш операционки запросто даст видимую разницу.
Чтобы результаты тестов были достоверными, нужно удовлетворить следующие условия:
Это одна из самых частых ошибок в замерах производительности, когда люди вообще не обращают внимания, что у них частота процессора в рилтайме плавает от 1.5 до 3 ггц. Разброс это дает в десятки процентов иногда. У вас 3% разницы.
Да, это надо делать и на десктопе, а не только на ноутбуке. Все процессоры давным давно работают в энергосберегающем режиме и при первой же возможности понижают частоту.
Да, это обязательно.
Терминал держит использованных агентов фоном в активном состоянии, что дает серьезное ускорение на повторных запусках за счет горячих кешей. Выгрузка терминала приводит к выгрузке фоновых агентов и сбросу кешей.
А что с вайном? Продублирую вопрос:
"Ренат, только перед отключением х32 наладьте запуск х64 под вайном, пожалуйста. Если не хотите/не будете, то тоже скажите, чтобы было время продумать варианты."
Я сам не пробовал на х64, но помню, что люди жаловались на то, что не запускается, с тех пор и сижу на х32.
А что с вайном? Продублирую вопрос:
"Ренат, только перед отключением х32 наладьте запуск х64 под вайном, пожалуйста. Если не хотите/не будете, то тоже скажите, чтобы было время продумать варианты."
Я сам не пробовал на х64, но помню, что люди жаловались на то, что не запускается, с тех пор и сижу на х32.
С прошлой зимы все давно работает в 64 битном вайне. Или даже раньше.
Доказательства нужны железобетонные, а не на основе одиночного запуска. У вас разница в 4.5 секунды на 153 секундном промежутке, всего 3% и выглядит как погрешность.
Учтите, что в терминале и агентах огромнейшее влияние имеют кеши, накопленные данные и разные состояния горячести. Даже файловый кеш операционки запросто даст видимую разницу.
Чтобы результаты тестов были достоверными, нужно удовлетворить следующие условия:
Это одна из самых частых ошибок в замерах производительности, когда люди вообще не обращают внимания, что у них частота процессора в рилтайме плавает от 1.5 до 3 ггц. Разброс это дает в десятки процентов иногда. У вас 3% разницы.
Да, это надо делать и на десктопе, а не только на ноутбуке. Все процессоры давным давно работают в энергосберегающем режиме и при первой же возможности понижают частоту.
Да, это обязательно.
Терминал держит использованных агентов фоном в активном состоянии, что дает серьезное ускорение на повторных запусках за счет горячих кешей. Выгрузка терминала приводит к выгрузке фоновых агентов и сбросу кешей.
Да, конечно Вы правы, своими силами мне не выяснить истину в данном вопросе! Уровень мой слишком мал.
Можете экспертное дать заключение, какие функции быстрей, мной ранее использованные или те, что сейчас интегрированы в язык?
Просто я сравнил в своих условиях два варианта, увидел стабильную разницу, но быть может действительно, так получается случайно, что-то то всегда из внешних факторов заставляет компьютер работать медленней, ну к примеру какие либо службы шуршат на SSD с определенной периодичностью - не знаю, не могу создать лабораторный условий для своих утверждений.
Может и правда, лучше заткнуться и ничего не писать....
Правильнее делать технические вещи технично.
Тогда будет уважение и почет вместо списка вопросов. И позиции обиженного не будет.
Правильнее делать технические вещи технично.
Тогда будет уважение и почет вместо списка вопросов. И позиции обиженного не будет.
Некогда мне обижаться!
Я просто пытался донести до Вас, что проверить Вам мою гипотезу проще и надежней, а если она верна, то и полезней.
Некогда мне обижаться!
Я просто пытался донести до Вас, что проверить Вам мою гипотезу проще и надежней, а если она верна, то и полезней.
«Гипотезы» принимаются только после чистого доказательства.
Я достаточно потрудился, чтобы показать как и почему надо проводить чистые тесты. Бегать повторять за каждым пустым вбросом у меня нет ни желания, ни возможностей.
С прошлой зимы все давно работает в 64 битном вайне. Или даже раньше.
странно, вот совсем недавно
https://www.mql5.com/ru/forum/254081/page2#comment_7718449
Ну можетKonstantin о чём-то другом говорил.
странно, вот совсем недавно
https://www.mql5.com/ru/forum/254081/page2#comment_7718449
Ну можетKonstantin о чём-то другом говорил.
Это совершенно другое, поддержка SSL сертификатов как расширенная модель авторизации на торговом сервере в Wine еще не работает.