LINUX.ORG.RU

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

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

λ> ./gen_kb_str.py 64                      
 1 11 1111111 1  11 1111  11 1 1 111 1 11  1 11111111111 11111 1%                                                                                      
λ> TestString=$(./gen_kb_str.py 4096)      
λ> time ./count $TestString >>/dev/null
./count $TestString >> /dev/null  7,70s user 0,00s system 100% cpu 7,702 total
λ> time ./count_spaces $TestString >>/dev/null 
./count_spaces $TestString >> /dev/null  7,14s user 0,00s system 100% cpu 7,138 total
λ> time ./count_spaces2 $TestString >>/dev/null
./count_spaces2 $TestString >> /dev/null  1,35s user 0,00s system 99% cpu 1,353 total

И опять, простое (count_spaces) быстрее.

p.s. А count_spaces2 это Снова задачка (комментарий).

p.p.s. Если распределение пробелов/не_пробелов сделать 3/1, то ситуация не меняется.

λ> ./gen_kb_str.py 64                
  1  1     1      1   1    1     1           1  1          1    %                                                                                      
λ> TestString=$(./gen_kb_str.py 4096)  
λ> time ./count $TestString >>/dev/null       
./count $TestString >> /dev/null  5,58s user 0,00s system 100% cpu 5,574 total
λ> time ./count_spaces $TestString >>/dev/null 
./count_spaces $TestString >> /dev/null  4,60s user 0,00s system 100% cpu 4,600 total
λ> time ./count_spaces2 $TestString >>/dev/null
./count_spaces2 $TestString >> /dev/null  0,84s user 0,00s system 99% cpu 0,840 total

Исправление Deleted, :

λ> ./gen_kb_str.py 64                      
 1 11 1111111 1  11 1111  11 1 1 111 1 11  1 11111111111 11111 1%                                                                                      
λ> TestString=$(./gen_kb_str.py 4096)      
λ> time ./count $TestString >>/dev/null
./count $TestString >> /dev/null  7,70s user 0,00s system 100% cpu 7,702 total
λ> time ./count_spaces $TestString >>/dev/null 
./count_spaces $TestString >> /dev/null  7,14s user 0,00s system 100% cpu 7,138 total
λ> time ./count_spaces2 $TestString >>/dev/null
./count_spaces2 $TestString >> /dev/null  1,35s user 0,00s system 99% cpu 1,353 total

И опять, простое (count_spaces) быстрее.

p.s. А count_spaces2 это Снова задачка (комментарий).

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

λ> ./gen_kb_str.py 64                      
 1 11 1111111 1  11 1111  11 1 1 111 1 11  1 11111111111 11111 1%                                                                                      λ> TestString=$(./gen_kb_str.py 4096)      
λ> time ./count $TestString >>/dev/null
./count $TestString >> /dev/null  7,70s user 0,00s system 100% cpu 7,702 total
λ> time ./count_spaces $TestString >>/dev/null 
./count_spaces $TestString >> /dev/null  7,14s user 0,00s system 100% cpu 7,138 total
λ> time ./count_spaces2 $TestString >>/dev/null
./count_spaces2 $TestString >> /dev/null  1,35s user 0,00s system 99% cpu 1,353 total

И опять, простое (count_spaces) быстрее.

p.s. А count_spaces2 это Снова задачка (комментарий).