Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Vlad                                 2:5020/400     20 Nov 2002  21:38:45
 To : Artem Chuprina
 Subject : Re[2]: map и foreach
 -------------------------------------------------------------------------------- 
 
 Hello Artem,
 Wednesday, November 20, 2002, 5:55:03 PM, you wrote:
 
 AC> Здравствуй, Vlad.
 
 V>> Кто может подсказать, почему map работает медленнее прямого перебора
 V>> массива?
 
 AC> Потому что он генерирует новый список. А то, что тебе результат не нужен,
 AC> для него не аргумент.
 
 Хорошо. А почему тогда, если вместо map использовать grep в той же
 конструкции, работает быстрее чем оба варианта (map и прямой перебор)?
 Попробуйте сравнить с примерами из предыдущего поста:
 
 my %words_2 = ();
 my $t2 = [gettimeofday];
 grep {$words_2{$_}++}@words;
 print "grep:\t",tv_interval($t2, [gettimeofday]), " sec.\n";
 
 Правильно. Разница с simple составляет примерно полтора раза. :)
 Почему так, понять не могу.
 
 Ведь grep тоже, насколько мне известно, возвращает список. И вообще,
 если записать @arr = map{$words{$_}++}@words, то map работает как раз
 в те самые полтора раза быстрее, чем без присваивания массиву, в то
 время как grep в таком же случае начинает работать медленней (не
 поверите!) приблизительно в те же полтора раза. Вот такие хитрые
 сообщающиеся сосуды... Hа маленьких объемах, конечно, не заметна
 разница в скорости, но вот если индексировать десятки мегабайт текста,
 тогда выливается в минуты, а то и в десятки минут. Хочется докопаться
 до истины, так как многократное перечитывание документация ясности не
 внесло.
 
 -- 
 Best regards,
 VLAD                          
 mailto:vlad@niko.kiev.ua
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5
  * Origin: NIKO (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 map и foreach   Vlad   20 Nov 2002 14:13:09 
 Re: map и foreach   Artem Chuprina   20 Nov 2002 19:55:03 
 Re[2]: map и foreach   Vlad   20 Nov 2002 21:38:45 
 Re: Re[2]: map и foreach   Artem Chuprina   20 Nov 2002 22:43:21 
 Re: map и foreach   Andrey Sapozhnikov   22 Nov 2002 05:22:02 
 Re[2]: map и foreach   Vlad   24 Nov 2002 21:33:47 
 Re: map и foreach   Timur Vafin   21 Nov 2002 00:49:19 
 Re: map и foreach   Artem Chuprina   21 Nov 2002 15:37:35 
 Re: map и foreach   Timur Vafin   21 Nov 2002 17:46:24 
 Re: map и foreach   Artem Chuprina   21 Nov 2002 22:01:39 
 Re: map и foreach   Timur Vafin   22 Nov 2002 15:54:20 
 Re: map и foreach   Artem Chuprina   23 Nov 2002 14:15:49 
Архивное /ru.perl/6303016a572d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional