[Cascavel-pm] Contando caractares

Wendel Scardua wendelscardua em gmail.com
Quarta Novembro 21 09:48:47 PST 2007


Espera, você leu errado, Márcio.

Como eu falei "acima",  Rate = Velocidade. "tr" rodou mais de 3 milhões de
vezes por segundo, enquanto "array" fez apenas 1 milhão.

The manual says "This chart is sorted from slowest to fastest"; that
meanifica "do mais lento pro mais rápido", não o contrário.

[]s
Wendel (mixing línguas for fun)

On Nov 21, 2007 3:43 PM, Márcio Vitor <cromo.jml em gmail.com> wrote:

> 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
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
[]s
Wendel
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20071121/ed10b971/attachment.html 


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