История изменений
Исправление provaton, (текущая версия) :
Для референса на моей машине (Core i7 8700K):
Однопоточная реализация на хешах от АнтонИ:
~/tmp/mp » time ./test-cpp
generate strings 0.0480122 sec
generate hash 0.10188 sec
search time 0.000468725 sec
total time 0.150361 sec
matches 0
./test-cpp 0,14s user 0,02s system 99% cpu 0,159 total
rand.c от ТСа:
~/tmp/mp » time ./rand
0
205
10
3742
1
194
9
3772
2
194
9
3796
3
194
10
3779
4
194
10
3763
5
197
10
3755
6
193
10
3762
7
192
10
3775
8
194
9
3756
9
195
10
3741
./rand 39,16s user 0,52s system 99% cpu 39,739 total
Итого 0.159s vs 3.973s или практически ровно 25 раз. Я не буду торопиться с ироничными комментами, может в бенче Антона найдется бага (я слишком хочу спать чтоб ревьюить код прям сейчас).
Исходная версия provaton, :
Для референса на моей машине (Core i7 8700K):
Однопоточная реализация на хешах от АнтонИ:
~/tmp/mp » time ./test-cpp
generate strings 0.0480122 sec
generate hash 0.10188 sec
search time 0.000468725 sec
total time 0.150361 sec
matches 0
./test-cpp 0,14s user 0,02s system 99% cpu 0,159 total
rand.c от ТСа:
~/tmp/mp » time ./rand
0
205
10
3742
1
194
9
3772
2
194
9
3796
3
194
10
3779
4
194
10
3763
5
197
10
3755
6
193
10
3762
7
192
10
3775
8
194
9
3756
9
195
10
3741
./rand 39,16s user 0,52s system 99% cpu 39,739 total
Итого 0.159s vs 3.916s или 24.62 раза. Я не буду торопиться с ироничными комментами, может в бенче Антона найдется бага (я слишком хочу спать чтоб ревьюить код прям сейчас).