LINUX.ORG.RU

История изменений

Исправление AntonI, (текущая версия) :

Да, наверное в этом дело. Еще поспрошаю у компетентных коллег.

Переделал структуру данных на односвязный список что бы ходить «по шерсти», в один поток выигрыш почти вдвое

$ ./bench
generate strings 0.0815278 sec
generate hash 1.14169 sec
search time 0.00112064 sec
total time 1.22433 sec
 matches 0

$ g++ -std=c++11 -O3 -Wall -o bench2 -fopenmp bench2.cpp
$ ./bench2 
generate strings 0.0805417 sec
generate hash 0.644342 sec
search time 0.00160707 sec
total time 0.726491 sec
 matches 0

Время поиска просело в полтора раза, новая структура оптимальна для набивки хэш-таблицы а не для поиска. Интересно сколько будет на Вашей машине.

ИМНО это предел - быстрее уже не получится.

Но Диана обвиняет меня в читерстве - дескать я OpenMP использую. В однопоточной версии!!! Коварство антиметапрогеров не знает границ…

Исходная версия AntonI, :

Да, наверное в этом дело. Еще поспрошаю у компетентных коллег.

Переделал структуру данных на односвязный список что бы ходить «по шерсти», в один поток выигрыш почти вдвое

$ ./bench
generate strings 0.0815278 sec
generate hash 1.14169 sec
search time 0.00112064 sec
total time 1.22433 sec
 matches 0

$ g++ -std=c++11 -O3 -Wall -o bench2 -fopenmp bench2.cpp
$ ./bench2 
generate strings 0.0805417 sec
generate hash 0.644342 sec
search time 0.00160707 sec
total time 0.726491 sec
 matches 0

Время поиска просело в полтора раза, новая структура оптимальна для набивки хэш-таблицы а не для поиска. Интересно сколько будет на Вашей машине.

Но Диана обвиняет меня в читерстве - дескать я OpenMP использую. В однопоточной версии!!! Коварство антиметапрогеров не знает границ…