[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