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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrew Kulinich                      2:4626/15.34   16 Jan 2003  00:01:40
 To : Artem Chuprina&All
 Subject : ?: || if
 -------------------------------------------------------------------------------- 
 
 
  Однажды Artem Chuprina писал Владимиp Гpебнев. И тут пришел я.
 
  ВГ>> А чем отличается $page=$page?$page:1; от unless ($page){$page=1;}
  ВГ>> ? :)
  AC> Hичем. И то, и другое дает один и тот же результат неоптимальным
  AC> способом.
 
 Пожалуй сначала задам вопрос, а если я прав, то это будет моим аргументом.
 скрипт(правда в условиях постоянного false $page, чтоб срабатываний обеих
 конструкций было больше)
 --
 #!/usr/bin/perl
 use warnings;
 use strict;
 use Benchmark qw /cmpthese/;
 
 my $page;
 cmpthese (-2, { '||='  => sub{$page ||= 1;            undef $page;},
                 unless => sub{$page = 1 unless $page; undef $page;}
               }
 );
 --
 
 выдает
 --
 Benchmark: running unless, ||=, each for at least 2 CPU seconds...
     unless:  3 wallclock secs ( 2.09 usr +  0.00 sys =  2.09 CPU) @ 1631440.31/s
 (n=3416236)
        ||=:  1 wallclock secs ( 2.07 usr +  0.00 sys =  2.07 CPU) @ 1846965.25/s
 (n=3826912)
             Rate unless    ||=
 unless 1631440/s     --   -12%
 ||=    1846965/s    13%     ----
 --
 
 This is perl, v5.6.1 built for MSWin32-x86-multi-thread
 
 Hикак не доходит формат вывода бенчмарка.
 Поясните, что в данном случае быстрее?
 Мне кажется, что в данном случае имеется ввиду, что "unless" на 12 процентов
 быстрее '||='. Это правильно? Или с точностью до наобормот?
 Что в данном случае означают символы "1631440/s"? Количество исполнений
 конструкции за секунду настенного времени? Что есть 1 CPU second?
 
 DIXI
 ... Таверна 'Серая радость'
 --- [+++++++++++++++++++++++++***]
  * Origin: Посинение трупа является первым признаком смерти. (2:4626/15.34)
 
 

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

 Тема:    Автор:    Дата:  
 ?: || if   ‚« ¤Ё¬Ёp ѓpҐЎ­Ґў   14 Jan 2003 11:08:14 
 Re: ?: || if   Artem Chuprina   14 Jan 2003 16:32:59 
 Re: ?: || if   ‚« ¤Ё¬Ёp ѓpҐЎ­Ґў   15 Jan 2003 11:34:49 
 Re: ?: || if   Artem Chuprina   15 Jan 2003 13:59:10 
 ?: || if   Andrew Kulinich   16 Jan 2003 00:01:40 
 Re: ?: || if   Artem Chuprina   16 Jan 2003 20:25:27 
 ?: || if   Andrew Kulinich   14 Jan 2003 14:07:29 
 Re: ?: || if   ‚« ¤Ё¬Ёp ѓpҐЎ­Ґў   15 Jan 2003 11:29:11 
 ?: || if   Andrew Kulinich   15 Jan 2003 23:40:14 
Архивное /ru.perl/33393e25cf4f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional