Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее" - страница 6
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это просто чистое доказательство на практике и в теории ошибочности позиции, которую высказывали некоторые трейдеры в теме https://www.mql5.com/ru/forum/96176/page10 (где-то было упоминание):
Оказалось, что это не так. В самой простой функции получился слив и MQL5 эффективнее. Причем, почему быстрее, я обосновал еще и теоретически. В дополнение к практическим результатам.
R даже официально зовётся "language and environment" - внутри фактически схема с её dsl,макросами,sexpr и мусором которая "клей" к разным либам и окружению..Зато компактная запись и всё это легко расширять, он собственно тем и хорош, за то и ценится. А ведь ещё не так давно апологеты мат.стат. пакетов с одной стороны и фаны ФП c другой стороны поносили R за тормоза :-)
PS. кстати есть подозрение что в микробенчмарке seq() развернулся уже внутри замеров. Мелочь конечно.
R даже официально зовётся "language and environment" - внутри фактически схема с её dsl,макросами,sexpr и мусором которая "клей" к разным либам и окружению..Зато компактная запись и всё это легко расширять, он собственно тем и хорош, за то и ценится. А ведь ещё не так давно апологеты мат.стат. пакетов с одной стороны и фаны ФП c другой стороны поносили R за тормоза :-)
Да пусть как угодно зовется.
Просто утверждение про его оптимизированность оказалось ложным даже при условии, что у него масса функций сидит в нативных 64 битных DLL. Теперь мы наоборот везде будем указывать, что у нас мат расчеты быстрее, чем в R. И что перенос наработанных идей из R в MQL5 даст реальное преимущество.
PS. кстати есть подозрение что в микробенчмарке seq() развернулся уже внутри замеров. Мелочь конечно.
Нет, seq вне замера.
Попробуйте сами много раз вызвать после однократного заполнения через seq
В MQL5 считается в два раза быстрее: 10 микросекунд против 20 микросекунд в R.
У меня чуть иначе.
Среднее время: MT5 12 микросекунд, R 16 микросекунд
Минимальное: MT5 8 микросекунд, R 15 микросекунд
Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i7-6700 @ 3.40GHz
R - 3.3.1 x64
MT5 1445
Поздравляю, mql компилятор может хорошую оптимизацию.
<режим зануды>
К результатам MT5 стоит добавить 100 милисекунд потраченных на компиляцию.
R за 16 микросекунд успевает интерпретировать ввод из строки и передать его в библиотеку и получить результат назад.
</режим зануды>
<режим зануды>
К результатам MT5 стоит добавить 100 милисекунд потраченных на компиляцию.
R за 16 микросекунд успевает интерпретировать результат из строки и передать его в библиотеку и получить результат назад.
</режим зануды>
Никак не стоит.
Я тоже верил, что в R должно быть оптимизированно. Но вот сам поставил, сам начал разбираться и абсолютно точно понял, что эта система не может выжать максимум из-за системного оверхеда динамического языка.
Минимальное время надо смотреть. По нему у вас прямое подтверждение моих результатов: 8 против 15.
Да пусть как угодно зовется.
Просто утверждение про его оптимизированность оказалось ложным даже при условии, что у него масса функций сидит в нативных 64 битных DLL. Теперь мы наоборот везде будем указывать, что у нас мат расчеты быстрее, чем в R. И что перенос наработанных идей из R в MQL5 даст реальное преимущество.
Нет, seq вне замера.
Попробуйте сами много раз вызвать после однократного заполнения через seq
совсем не факт..R - ФП, он может "опустить" значительную часть вычислений просто за ненадобностью, может сделать специфический вывод о пути вычисления. Просто несравниваемые вещи, как кислое с мягким :-)
совсем не факт..R - ФП, он может "опустить" значительную часть вычислений просто за ненадобностью, может сделать специфический вывод о пути вычисления. Просто несравниваемые вещи, как кислое с мягким :-)
Хватит уже бред нести.
Раз за разом пытаетсь опровергнуть реальность.
я хоть и говорю о R, однако мой скилл вери смолл)) кто-то может проверить правильность кода?
по результатам графики выходят одинаковые ,что у этого кода,
что у кода Рената
если код верен, то можете проверить бенчмарк?
К результатам MT5 стоит добавить 100 милисекунд потраченных на компиляцию.
Я к тому что mql компилятор во время компиляции уже знает все входные параметры. Ему достаточно во время компиляции всё посчитать, а при вызове скрипта - он просто возвращает уже заранее посчитанный результат. Видел какие-то статьи на хабре где сравнивали компиляторы на c++, там судя по анализу ассемблерного кода именно так происходит.
если код верен, то можете проверить бенчмарк?
Вопрос снимается, в первом тесте результат в микросек были,тут получились в милисекундах. не обратил внимание сначала