|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/528418e106c0.html, оценка из 5, голосов 10
|