
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Причем после перевода всех float в double, получилось ожидаемое ускорение - время расчета 5491 ms вместо 7863 ms на float.
Код приложен.
А почему у вас float работает медленнее чем double ?
Работа с double как то особенно оптимизирована ?
ЗЫ По логике float 4-х байтовый, значит и операций с ним должно быть меньше чем с 8-ми байтовым double.
А почему у вас float работает медленнее чем double ?
Работа с double как то особенно оптимизирована ?
ЗЫ По логике float 4-х байтовый, значит и операций с ним должно быть меньше чем с 8-ми байтовым double.
Это уже вопрос к набору команд CPU.
На самом деле при использовании float приходится перед математическими операциями конвертировать его в double, а потом обратно. Фактически float используют для компактного/экономии представления вещественных чисел, а вот в математических расчетах его ни в коем случае нельзя использовать из-за огромных погрешностей.
Поэтому лучше всего сразу вести расчеты и хранить результаты в double.
Информация в логах. запись файлов по желанию: {mt5}\mql5\files\PlatformName_DeviceName.bmp
2011.06.06 21:33:05 Mandelbrot_double (EURUSD,M1) Time: 41094 ms
2011.06.06 21:14:49 OCL_MFractal_double (EURUSD,M1) AMD Accelerated Parallel Processing: Intel(R) Core(TM)2 CPU 4400 @ 2.00GHz: CalcTime=3188
2011.06.06 21:14:45 OCL_MFractal_double (EURUSD,M1) NVIDIA CUDA: GeForce GT 430: CalcTime=672
Тест Рената:
10591 ms
Тоже самое, но с OpenCL:
3370 ms
AMD Accelerated Parallel Processing: AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Munshi A., Gaster B., Mattson T., Fung J. - OpenCL. Programming Guide [2011, PDF, ENG] + исходные коды
https://www.mql5.com/ru/forum/132431