|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 20 Nov 2002 22:43:21 To : Vlad Subject : Re: Re[2]: map и foreach -------------------------------------------------------------------------------- Здравствуй, Vlad. V>>> Кто может подсказать, почему map работает медленнее прямого перебора V>>> массива? AC>> Потому что он генерирует новый список. А то, что тебе результат не нужен, AC>> для него не аргумент. V> Хорошо. А почему тогда, если вместо map использовать grep в той же V> конструкции, работает быстрее чем оба варианта (map и прямой перебор)? map - потому что копий элементов не создает. Прямого перебора - потому что он, помнится, крив был слегка. Лишняя проверка на defined. V> Ведь grep тоже, насколько мне известно, возвращает список. И вообще, V> если записать @arr = map{$words{$_}++}@words, то map работает как раз V> в те самые полтора раза быстрее, чем без присваивания массиву, в то V> время как grep в таком же случае начинает работать медленней (не V> поверите!) приблизительно в те же полтора раза. Вот такие хитрые V> сообщающиеся сосуды... Вот это уже интересно. Hе, базу пусть Андрей подводит... Он сырцы читал. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/1445400b99c22.html, оценка из 5, голосов 10
|