Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
2-1286353881
Jacksotnik
2010-10-06 12:31
2011.01.02
Проблема с отладкой


15-1284737622
bss
2010-09-17 19:33
2011.01.02
Работа с XML в пространстве имен


15-1285062619
nobody
2010-09-21 13:50
2011.01.02
Где и как лучше хранить пароль к БД?


2-1286306992
AnGel
2010-10-05 23:29
2011.01.02
Как создать обработчик OnMouseDown у компонента, созданного во...


15-1279792599
Baks
2010-07-22 13:56
2011.01.02
Посоветуйте платный хостинг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский