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


ru.perl

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

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

 Тема:    Автор:    Дата:  
 ?: || 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/14454d82782a7.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional