|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Timur Vafin 2:5020/400 21 Nov 2002 00:49:19 To : Artem Chuprina Subject : Re: map и foreach -------------------------------------------------------------------------------- Мир вертится, коннект нормальный, а посему приветствую тебя, Artem Wed Nov 20 2002 18:55, Artem Chuprina wrote to Vlad: V>> Кто может подсказать, почему map работает медленнее прямого перебора V>> массива? AC> Потому что он генерирует новый список. А то, что тебе результат не нужен, AC> для него не аргумент. Что то не пойму... #!/usr/bin/perl -w use Benchmark; @junk = `cat /etc/motd`; $count = 100_000; timethese($count, { 'map' => sub { my @a = @junk; map { s/a/b/ } @a; }, 'for' => sub { my @a = @junk; foreach (@a) { s/a/b/ }; }, }); Результат: Benchmark: timing 100000 iterations of for, map... for: 0 wallclock secs ( 0.22 usr + 0.00 sys = 0.22 CPU) @ 454545.45/s (n=100000) (warning: too few iterations for a reliable count) map: 0 wallclock secs ( 0.14 usr + -0.01 sys = 0.13 CPU) @ 769230.77/s (n=100000) (warning: too few iterations for a reliable count) Всё будет хорошо... --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/166793fe20828.html, оценка из 5, голосов 10
|