|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergey Aleshin 2:5020/400 11 Nov 2002 19:08:55 To : Eugene Grosbein Subject : Re: двоичный поиск -------------------------------------------------------------------------------- Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote: EG> EG>hash хуже бинарного поиска. EG> Вот скриптик: my %h; my $i; for($i=1;$i<=10000000;$i=$i+10) { $h{$i}=1; } print "Starting...\n"; my $count=0; for(1..10000000) { if($h{$_}==1) { $count++; } } print "found: $count\n"; Вот результат выполнения на Cel850/FreeBSD 4.7 [~/tmp]$ time perl test.pl Starting... found: 1000000 real 0m34.732s user 0m34.395s sys 0m0.328s Для миллиона элементов соответственно в 10 с лишним раз быстрее. Если шаг заполнения хеша увеличить, что время исполнения существенно снижается. Вот результат для шага 100 и миллиона элементов: [~/tmp]$ time perl test.pl Starting... found: 10000 real 0m1.769s user 0m1.769s sys 0m0.000s Так что стоит проверить, не будет ли быстродействие с хешем достаточным. -- Sergey Aleshin --- ifmail v.2.15dev5 * Origin: RCD News Server (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/14780a1d5fb1.html, оценка из 5, голосов 10
|