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

 

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

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

Author: Evgeniy Logunov

 
Спасибо за материал, скриптик весьма нитересный.
 
Нужная библиотека. Мне не хватает теста быстродействия. Сможет ли это ускорить например оптимизацию?
 
DC2008:
Нужная библиотека. Мне не хватает теста быстродействия. Сможет ли это ускорить например оптимизацию?


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

 
Хорошая статья, главное-полезная.
 
Если всё работает, то автор молодчага :)
 
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-кода).