Alex03 (20.04.2006 17:16, просмотров: 1) ответил volkanaft на А по таблице всего две команды(правда для 32-х разрядов таблица будет занимать 2^32 байт)
Про ошибки согласен, очевины :). А про таблицы всё же зависит от того какая память/кэши и т.д. Мне в своё время на x86 требовалось считать кол-во единичных битов в массиве размером в 256, 512 байт и т.п.
Пробовал и таблицы
uint tab[256]
uchar tab[256]
uint tab[65536]
uchar tab[65536]
и алгоритмы, в том числе тот что вы привели
32-разрядный и 128-ми с использованием SSE2, но там уже префечами рулить очень желательно и т.д.
Большие таблицы (65536[x4]) в кэш L1 не влазят.
с uchar видимо выравнивания какие-то влияют.
Вывод: тестировать алгоритмы под целевую платформу.