Цитата(Kiber_rat @ 12.2.2006, 16:48 ) | | Теоретически в том, что мой вариант работает быстрее Можешь проверить на каком -нить html файле. |
Практически, мой пример работает на треть быстрее. С моим вариантом:
| Код | #!/usr/bin/perl -w use strict; use Time::HiRes qw(time);
my $file = "guest.html"; my($start, $stop) = (0,0);
open(F, "< $file") or die "Can't open file '$file': $!\n"; $start = time(); while (<F>) { s/<.*?>//g; } $stop = time(); close(F);
printf ("%s%.5f", "Затраченное время: " , ($stop - $start));
|
С твоим:
| Код | #!/usr/bin/perl -w use strict; use Time::HiRes qw(time);
my $file = "guest.html"; my($start, $stop) = (0,0);
open(F, "< $file") or die "Can't open file '$file': $!\n"; $start = time(); while (<F>) { s/<[^>]*>//g; } $stop = time(); close(F);
printf ("%s%.5f", "Затраченное время: " , ($stop - $start));
|
Вот такие цифры получил я: Первый запуск:
| Цитата | Твой: Затраченное время: 0.00194 Мой: Затраченное время: 0.00130
|
Повторный запуск:
| Цитата | Твой: Затраченное время: 0.00212 Мой: Затраченное время: 0.00138
|
Третий запуск:
| Цитата | Твой: Затраченное время: 0.00192 Мой: Затраченное время: 0.00128
|
Для теста прицепляю два скрипта, с обеими вариантами и html файл, на котором я тестил.
Цитата(Kiber_rat @ 12.2.2006, 16:48 ) | | Ну и если верить книжке "Регулярные выражения" он боле правильный... |
Я не читал её, хотя много слышал о ней. Но с другой стороны, эта книга уже порядочно устарела. |