Re[3]: Сортировка с использованием MMX
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.09.03 06:59
Оценка:
Здравствуйте, IvanD, Вы писали:

ID>Здравствуйте, Кирилл Осенков, Вы писали:


КО>>А что ты имеешь ввиду

...известные мне алгоритмы под эту задачу не подходят никоим образом?

Не удается MMX прикрутить? Или как?


ID>Дело в том, что MMX предоставляет возможность сравнивать сразу 8 байт (элементов массива), ну и пересылать между регистрами и памятью тоже по 8 байт, за счет этого и достигается оптимизация. Вопрос в том, как это реализовать, чтобы еще и массив сортировался.

Я не експерт по MMX и низкоуровневому кодингу, но, по-моему, MMX тут не поможет. Дело в том, что в задаче сортировки основную роль играют обращения к памяти, а им по барабану, какими инструкциями они делаются. Размер-то массива один и тот же!
Ну а если я все же не прав, то вот такая идея:
выровняй длину массива по 8, и представь, что это 8 массивов, вдвинутых друг в друга:
|arr1_1|arr2_1|arr3_1|arr4_1|arr5_1|arr6_1|arr7_1|arr8_1|arr1_2|...

используй MMX для одновременной сортировки этих 8ми массивов, а потом слей их в один массив.
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.