Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.02;
Скачать: CL | DM;

Вниз

Оптимизация операций над массивами   Найти похожие ветки 

 
Festil   (2010-10-07 19:39) [0]

Массив 4x4, каждый элемент есть сумма/произведение значений функций F(x) ,G(x), H(x), где x=1,2,3...N  (N порядка 50).

Кол-во необходимых вычислений матрицы от 2000 до 4000.
Как лучше задать матрицу
matr:array[1..4,1..4] of real
или же через
getmem

Так же где быстрее будет работать при операции над большими матрицами - размером (4x70) and (70x1)?


 
Rouse_ ©   (2010-10-07 20:03) [1]

затраты на вычисление валидного оффсета в данном случае думаю будут нивелированны нагрузкой, выдаваемой функциями рассчета F(x) ,G(x), H(x)

проще будет через array, бо врятли думаю что ты сможешь кардинально оптимизировать доступ к нужным адресам самостоятельно рассчитывая оффсет в блоке памяти


 
Festil   (2010-10-07 20:06) [2]

Ясно.
А перемножение матриц (4x70) X (70x1) тоже в array?


 
Anatoly Podgoretsky ©   (2010-10-07 20:19) [3]

> Festil  (07.10.2010 20:06:02)  [2]

Конечно.


 
han_malign   (2010-10-08 09:11) [4]


> тоже в array?

- а ты думаешь, что статический и динамический массивы лежат в разных типах физической памяти? У тебя на компьютере много DRAM разных типов?

> врятли ... рассчитывая оффсет в блоке памяти

- +1 - ключевое слово "рассчитывать", тогда как составная индексация заложена в x86 ( [reg+reg*(1|2|4|8)+abs_offset] ) и этот блок быстрее чем  обычный ALU, поскольку узко-заточенный... (хотя все равно ушлые компиляторы некоторые простые вычисления оптимизируют через инструкцию загрузки адреса(например: EAX = EAX * 3 ==> LEA EAX, [EAX+EAX*2] ))


 
Festil   (2010-10-08 16:08) [5]

Спасибо.
Нашел ошибку, из-за чего скорость уменьшалась в 7-9 раз.



Страницы: 1 вся ветка

Текущий архив: 2011.01.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.004 c
15-1285101741
Дмитрий Тимохов 2
2010-09-22 00:42
2011.01.02
Права админа на windows server 2008 R2


2-1286333287
Pro-hacker
2010-10-06 06:48
2011.01.02
Пишу вирус


8-1208862988
Moroz4
2008-04-22 15:16
2011.01.02
Находится ли точка в полигоне 2D?


15-1283258948
Rouse_
2010-08-31 16:49
2011.01.02
Вот и официальная пьяночка подоспела :)


2-1286273161
Jacksotnik
2010-10-05 14:06
2011.01.02
Порядковый номер в DBGrid