[Cascavel-pm] Contando caractares

Márcio Vitor cromo.jml em gmail.com
Quarta Novembro 21 09:43:18 PST 2007


O gráfico é uma comparação de velocidade entre os emparelhamentos
indicados pelo Solli:

> >cmpthese(-1, {
> >             'array' => '@{[$var =~ /a/g]}',
> >             'while' => 'while ( $var =~ /a/g ) { $qtd02++}',
> >             'tr'    => '$var =~ y/a/A/'
> >               });

É classificado do mais rápido ao mais lento, a primeira coluna Rate
mostra a velocidade com que cada um foi executado, o restante mostra o
percentual de perfomance entre cada um, repare que a array é comparado
com while e tr e como ela é a mais rápida, todos mostram um percentual
negativo sobre ela, assim como o array teve uma perfomance 247% melhor
que o tr.
Ah, tá na manual:

cmpthese ( RESULTSHASHREF, [ STYLE ] )
                 Optionally calls timethese(), then outputs comparison
chart.  This:

                     cmpthese( -1, { a => "++\$i", b => "\$i *= 2" } ) ;

                 outputs a chart like:

                            Rate    b    a
                     b 2831802/s   -- -61%
                     a 7208959/s 155%   --

                 This chart is sorted from slowest to fastest, and
shows the percent speed difference between each pair
                 of tests.


Abraços

Márcio Vitor


On Nov 21, 2007 3:27 PM,  <fernandolouis em terra.com.br> wrote:
> <resultado>
>            Rate array while    tr
> array 1090778/s    --  -54%  -71%
> while 2388776/s  119%    --  -37%
> tr    3781862/s  247%   58%    --
> </resultado>
>
>
>
> ----- Original Message -----
> From: Márcio Vitor
> To: Cascavel Perl Mongers
>
>
> Sent: Wednesday, November 21, 2007 2:47 PM
> Subject: Re: [Cascavel-pm] Contando caractares
>
> Poxa Fernando na boa, fazer uma pesquisa não é tão mais difícil do que
> perguntar na lista, fiz a pesquisa e a primeira ocorrência é deste link (em
> português):
> http://pt.wikipedia.org/wiki/Benchmark
>
> Abraços
>
> Márcio Vitor
>
>
> On Nov 21, 2007 2:41 PM, <fernandolouis em terra.com.br> wrote:
>
> >
> >
> > Amigo,
> >
> > não compreendi o <resultado></resultado>
> >
> > o que exatamente siginifcam os valores? E pra que serve o "Benchmark"?
> >
> > []s,
> > Fernando
> >
> >
> >
> > ----- Original Message -----
> > From: Solli Honorio
> > To: Cascavel Perl Mongers
> > Sent: Tuesday, November 20, 2007 6:28 PM
> > Subject: Re: [Cascavel-pm] Contando caractares
> >
> >
> >
> >
> > Não resisti, que tal um golfe ?
> >
> > $q=$v=~y/a//;
> >
> > ... e tem outra coisa, o 'tr' ou 'y' é mais rápido ...
> > <code>
> > use Benchmark qw(:all) ;
> > my $var   = 'parlamentarismo';
> >
> > cmpthese(-1, {
> >             'array' => '@{[$var =~ /a/g]}',
> >             'while' => 'while ( $var =~ /a/g ) { $qtd02++}',
> >             'tr'    => '$var =~ y/a/A/'
> >               });
> > </code>
> >
> > <resultado>
> >            Rate array while    tr
> > array 1090778/s    --  -54%  -71%
> > while 2388776/s  119%    --  -37%
> > tr    3781862/s  247%   58%    --
> > </resultado>
> >
> >
> > On Nov 20, 2007 3:15 PM, Adriano Ferreira <a.r.ferreira em gmail.com> wrote:
> >
> > >
> > >
> > >
> > > On Nov 20, 2007 9:35 AM,  <fernandolouis em terra.com.br> wrote:
> > > >
> > > >
> > > > Dae Pessoal... olha só...
> > > >
> > > > $variavel = "casa";
> > > > Como faço pra contar quantos "a" tem em $variavel?
> > > > Tentei o seguinte, mas não fucionou:
> > > > $qtd = $variavel =~ m /a/g;
> > >
> > > Se o que você quer é apenas contar caracteres, use tr//
> > >
> > > $qtd = $variavel =~ tr/a/a/;
> > >
> > > Leia sobre o operator em "perldoc perlop" e sobre este uso em
> particular.
> > >
> > > >
> > > > []s,
> > > > Fernando
> > >
> > >
> > >
> > > > _______________________________________________
> > > > Cascavel-pm mailing list
> > > > Cascavel-pm em pm.org
> > > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > > >
> > > _______________________________________________
> > > Cascavel-pm mailing list
> > > Cascavel-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > >
> >
> >
> >
> > --
> > "o animal satisfeito dorme". - Guimarães Rosa
> >
> > ________________________________
>
> >
> > _______________________________________________
> >
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
>
>  ________________________________
>
>
> _______________________________________________
>
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm