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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     14 Mar 2002  17:27:51
 To : Andrew Bobin
 Subject : Re: print
 -------------------------------------------------------------------------------- 
 
 Andrew Bobin wrote:
 
 > Давно мучаюсь вопросом: какая из конструкций работает быстрей и меньше грузит
 > систему?
 > 
 > 1) print A.B.C;
 > 2) print A,B,C;
 > 
 > Кто знает точно? :)
 
 Зависит от количества аргументов и их длины. Смотрите
 и сравнивайте сами.
 
 Андрей
 
 ----------------------- test.pl ---------------------
 #!/usr/bin/perl -w
 use strict;
 use Benchmark qw(timethese cmpthese);
 
 open NULL, '> /dev/null' or die $!;
 
 sub dotest {
      my ($args, $length) = @_;
      my $a = 'a' x $length;
      my $dot = eval 'sub { print NULL ' . join('.', ('$a') x $args) . '}';
      my $comma = eval 'sub { print NULL ' . join(',', ('$a') x $args) . '}';
      return timethese -3, { DOT => $dot, COMMA => $comma }, 'none';
 }
 
 foreach my $args (2, 10, 50) {
      foreach my $len (1, 10, 100, 1000) {
   my $b = dotest $args, $len;
   print "*** $args arguments of $len chars ***\n";
   cmpthese($b);
      }
 }
 
 close NULL;
 ------------------------- EOF -----------------------
 ------------------------ output ---------------------
 *** 2 arguments of 1 chars ***
            Rate   DOT COMMA
 DOT   557508/s    --  -28%
 COMMA 771774/s   38%    --
 *** 2 arguments of 10 chars ***
            Rate   DOT COMMA
 DOT   488490/s    --  -29%
 COMMA 688518/s   41%    --
 *** 2 arguments of 100 chars ***
            Rate   DOT COMMA
 DOT   357581/s    --  -29%
 COMMA 500617/s   40%    --
 *** 2 arguments of 1000 chars ***
            Rate   DOT COMMA
 DOT   159568/s    --  -12%
 COMMA 180988/s   13%    --
 *** 10 arguments of 1 chars ***
            Rate   DOT COMMA
 DOT   225563/s    --  -12%
 COMMA 257015/s   14%    --
 *** 10 arguments of 10 chars ***
            Rate   DOT COMMA
 DOT   187178/s    --  -12%
 COMMA 212908/s   14%    --
 *** 10 arguments of 100 chars ***
            Rate   DOT COMMA
 DOT   128291/s    --   -9%
 COMMA 140390/s    9%    --
 *** 10 arguments of 1000 chars ***
           Rate COMMA   DOT
 COMMA 46837/s    --  -34%
 DOT   70792/s   51%    --
 *** 50 arguments of 1 chars ***
           Rate   DOT COMMA
 DOT   57162/s    --   -4%
 COMMA 59270/s    4%    --
 *** 50 arguments of 10 chars ***
           Rate   DOT COMMA
 DOT   46801/s    --   -2%
 COMMA 47890/s    2%    --
 *** 50 arguments of 100 chars ***
           Rate COMMA   DOT
 COMMA 33920/s    --  -14%
 DOT   39411/s   16%    --
 *** 50 arguments of 1000 chars ***
           Rate COMMA   DOT
 COMMA  9828/s    --   -7%
 DOT   10537/s    7%    --
 ------------------------- EOF -----------------------
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 print   Andrew Bobin   14 Mar 2002 11:10:44 
 Re: print   Artem Chuprina   14 Mar 2002 15:41:19 
 Re: print   Andrey Sapozhnikov   14 Mar 2002 17:27:51 
 Re: print   Andrew Bobin   15 Mar 2002 12:10:31 
 Re: print   Artem Chuprina   15 Mar 2002 14:02:42 
Архивное /ru.cgi.perl/528418e106c0.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional