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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Yuriy Kaminskiy                      2:5020/517.21  16 May 2004  02:14:56
 To : Serge Chervjakov
 Subject : Re: Проверка на вхождение в массив
 -------------------------------------------------------------------------------- 
 
 
 >>>>> On 00:19 16/5/2004, Serge Chervjakov wrote to Artem Chuprina:
  SC> sub f {
  SC>  my @mas=(1..10000); my %hash; for (my $i=0; $i<10000; $i++) {
  SC>   $hash{$mas[$i]}=$mas[$i];
  SC>  }
  SC> }
  SC> тут с бенчмарком комбинация проводится...
 
  Hда. Это называется клиника. Hу какой-же <beep> <beep> <beep>
 [нецензурщина ещё на три экрана поцокана цензором] так кодирует...
  ВСПОМHИ! PERL - ЭТО HЕ C++! ТУТ ЦИКЛЫ ПО МАССИВАМ ТАК HЕ ПИШУТ!
  "Правильный" for:
  for(@mas) { $hash{$_} = () }
    или (чуть похуже)
  for(@mas) { $hash{$_} = 1 }
    или уж накрайняк
  for(@mas) { $hash{$_} = $_ }
    если так уж хочется сравнить один-в-один с map {$_, $_} @mas.
  И увидишь, что результат ровно противоположный - for _быстрее_ от
 восьми (!) раз (на perl-5.00404/single/single/static) до двух раз (на
 5.8.1/mthread/mobject/shared - на нём случай map-с-resize заметно
 оптимизировали).
  Впрочем, у @hash{@slice} всё равно толще - он в те же полтора-два раза
 быстрее, чем for (и, в 27 (или, соответственно, в шесть) раз быстрее,
 чем дурацкий map).
 
  SC> и проверить не могу - перл не могу поставить - оперативка
  SC> побилась, глюки страшные идут:((.
 
  <sorry reason="не могу удержаться">
  У *кого* оперативка-то побилась?
  ВСПОМHИ! PERL - ЭТО HЕ C++! ТУТ ЦИКЛЫ ПО МАССИВАМ ТАК HЕ ПИШУТ!
  </sorry>
 -- 
 Yuriy Kaminskiy.
 E-mail (rot13): lhevl.z.xnzvafxvl@zgh-arg.eh
 --- Gnus/5.1002 (Gnus v5.10.2) XEmacs/21.5 (chayote, linux)
  * Origin: Code is language! http://www.anti-dmca.org (2:5020/517.21@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Проверка на вхождение в массив   Yuriy Kaminskiy   16 May 2004 02:14:56 
Архивное /ru.perl/174279745a35a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional