Скачать MetaTrader 5

Примеры: Библиотека матричной алгебры LibMatrix (часть первая)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Читай форум и увеличивай свой рейтинг!
MetaQuotes Software Corp.
Модератор
181276
MetaQuotes Software Corp. 2009.11.10 13:05 

New article Библиотека матричной алгебры LibMatrix (часть первая) has been published:

Автор знакомит читателей с простой библиотекой матричной алгебры. Рассматриваются основные функции и их особенности.

Author: Evgeniy Logunov

MQL4 Comments
16319
MQL4 Comments 2009.11.10 13:28  
Спасибо за материал, скриптик весьма нитересный.
Sergey Pavlov
8967
Sergey Pavlov 2009.11.10 13:50  
Нужная библиотека. Мне не хватает теста быстродействия. Сможет ли это ускорить например оптимизацию?
Evgeniy Logunov
716
Evgeniy Logunov 2009.11.10 15:49  
DC2008:
Нужная библиотека. Мне не хватает теста быстродействия. Сможет ли это ускорить например оптимизацию?


Это зависит от того, что вы оптимизируете. Кроме того, некоторые действия (например, вычисление обратной матрицы) при помощи библиотеки можно выполнять различными способами - соответственно, скорость будет различаться. В принципе, завтра вечером могу сравнить быстродействие с оригинальным вариантом на C++ (при компиляции буду использовать расширение набора инструкций SSE2).

ask
518
ask 2009.11.11 06:21  
Хорошая статья, главное-полезная.
Valerii Mazurenko
3485
Valerii Mazurenko 2009.11.11 23:54  
Если всё работает, то автор молодчага :)
Evgeniy Logunov
716
Evgeniy Logunov 2009.11.12 14:12  
DC2008:
Мне не хватает теста быстродействия.


Извиняюсь за задержку.

Привожу результаты тестирования. Все операции при тестировании проводились над матрицами 100x100, каждая операция вызывалась 100 раз. Кроме того, нужно сделать небольшую поправку (в сторону уменьшения времени выполнения) для mql4-кода, т.к. библиотека была загружена не сразу, а при обращении (судя по логу).

Операция Среднее время машинного кода (VC++2005 / SSE2) Среднее время кода на MQL4
Сложение 2.04 ms/op 11.41 ms/op
Умножение 19.06 ms/op 340.78 ms/op
Транспонирование 1.4 ms/op 7.34 ms/op
Обращение 30.94 ms/op 588.91 ms/op
Определитель 5 ms/op 109.38 ms/op
Ранг 5 ms/op 109.37 ms/op
Время тестирования 6344 ms 116719 ms

В аттаче материалы тестирования (скрипт на mql4, бинарник теста оригинальной версии библиотеки, результаты теста).

В этой теме приведены ещё несколько тестов быстродействия (скорость обращения матрицы в зависимости от её размеров; тест только mql4-кода).

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий