[SP-pm] TRNGs com Rand
Stanislaw Pusep
creaktive at gmail.com
Sun Nov 7 06:26:18 PST 2010
Temos também o Inline::CPP (
http://search.cpan.org/~shassan/Inline-CPP/lib/Inline/CPP.pod)!
ABS()
2010/11/6 Renato Santos <renato.cron em gmail.com>
> ThannkS! Devo aprender a fazer extensões em XS
>
> O q acho meio chato, e q precisa ser em c puro, sem c++.
> Ou, criar uma lib em c++ e um link com C e um Xx pra perl.
>
> Em nov 6, 2010 11:05 PM, "Stanislaw Pusep" <creaktive em gmail.com>escreveu:
>
>
> List::Util wins, flawless victory!
> (resultado para um array de 100 elementos)
>
> Rate alg_num_shuffle pusep map sort fisher_yates
> list_util
> alg_num_shuffle 10104/s -- -1% -2% -18% -19%
> -91%
> pusep 10172/s 1% -- -2% -18% -18%
> -90%
> map 10342/s 2% 2% -- -16% -17%
> -90%
> sort 12332/s 22% 21% 19% -- -1%
> -88%
> fisher_yates 12458/s 23% 22% 20% 1% --
> -88%
> list_util 106762/s 957% 950% 932% 766%
> 757% --
>
> Aliás, aquele código que postei inicialmente era uma variante do algoritmo
> de Fisher-Yates (http://en.wikipedia.org/wiki/Fisher-Yates) que fiz em 2
> minutos. Refiz decentemente e teve uma melhoria significativa. O que salva a
> minha reputação é que o Algorithm::Numerical::Shuffle traz uma outra
> implementação do mesmíssimo algoritmo e ainda assim é capenga... Muita
> coragem para publicar no CPAN, hein :)
> "map" e "sort" são gambiarras one-liners. O engraçado é que shuffle via
> sort é bem mais eficiente do que os outros (menos o List::Util que é XS)
> para arrays pequenos (10 elementos):
>
> Rate pusep alg_num_shuffle map fisher_yates sort
> list_util
> pusep 92304/s -- -1% -7% -16% -54%
> -89%
> alg_num_shuffle 92781/s 1% -- -6% -15% -54%
> -89%
> map 99073/s 7% 7% -- -10% -51%
> -88%
> fisher_yates 109484/s 19% 18% 11% -- -46%
> -87%
> sort 202283/s 119% 118% 104% 85% --
> -76%
> list_util 838226/s 808% 803% 746% 666%
> 314% --
>
> E aqui está o código do benchmark: http://tinypaste.com/f989dd
>
> ABS()
>
> 2010/11/6 Renato Santos <renato.cron em gmail.com> > > Preciso ao menos
> comparar com a solução do P...
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20101107/069d7280/attachment.html>
More information about the SaoPaulo-pm
mailing list