[Cascavel-pm] Contando caractares

fernandolouis em terra.com.br fernandolouis em terra.com.br
Quinta Novembro 22 02:48:46 PST 2007


Interessante mesmo... não o conhecia. Será muito útil!

Valeu Solli!
Abraço,
Fernando
  ----- Original Message ----- 
  From: Solli Honorio 
  To: Cascavel Perl Mongers 
  Sent: Wednesday, November 21, 2007 10:44 PM
  Subject: Re: [Cascavel-pm] Contando caractares


  Fernando, o Benchmark é um módulo que ajuda a comparar qual código possue 'melhor desempenho'. O resultado mostra que o 'tr' é 247% mais rápido que a solução do eden. O resultado final será o mesmo, mas o consumo de recurso bem diferente. 

  No livro 'Mastering Perl' tem um capítulo interessante ( http://www252.pair.com/comdog/mastering_perl/Chapters/06.benchmarking.html), vale a pena dar uma olhada.

  Abraços,

  Solli M. Honório
  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




  -- 
  "o animal satisfeito dorme". - Guimarães Rosa 


------------------------------------------------------------------------------


  _______________________________________________
  Cascavel-pm mailing list
  Cascavel-pm em pm.org
  http://mail.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20071122/28d5dbb2/attachment-0001.html 


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