[Cascavel-pm] get/set com AUTOLOAD

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Segunda Janeiro 2 03:48:57 PST 2006


Oi monges,

Ainda vão meus dois centavos. Eu repeti os testes num
computador rodando Windows 2000 e Active Perl 5.8.7:

---

Benchmark: timing 200000 iterations of AUTOLOAD,
Acessores manuais, Class::Accessor,
Class::Accessor::Fast...

AUTOLOAD:  4 wallclock secs ( 4.25 usr +  0.00 sys = 
4.25 CPU) @ 47103.16/s (n=200000)

Acessores manuais:  3 wallclock secs ( 2.32 usr + 
0.00 sys =  2.32 CPU) @ 86058.52/s (n=200000)

Class::Accessor:  4 wallclock secs ( 3.71 usr +  0.00
sys =  3.71 CPU) @ 53966.54/s (n=200000)

Class::Accessor::Fast:  2 wallclock secs ( 2.13 usr + 
0.00 sys =  2.13 CPU) @ 93764.65/s (n=200000)

---

Mesma máquina, mas com Cygwin e Perl 5.8.6:

---

Benchmark: timing 200000 iterations of AUTOLOAD,
Acessores manuais, Class::Accessor,
Class::Accessor::Fast...

AUTOLOAD:  4 wallclock secs ( 4.25 usr +  0.00 sys = 
4.25 CPU) @ 47103.16/s (n=200000)

Acessores manuais:  3 wallclock secs ( 2.32 usr + 
0.00 sys =  2.32 CPU) @ 86058.52/s (n=200000)

Class::Accessor:  4 wallclock secs ( 3.71 usr +  0.00
sys =  3.71 CPU) @ 53966.54/s (n=200000)

Class::Accessor::Fast:  2 wallclock secs ( 2.13 usr + 
0.00 sys =  2.13 CPU) @ 93764.65/s (n=200000)

---

[]'s
Alceu

--- Nilson Santos Figueiredo Junior <acid06 em gmail.com>
escreveu:

> On 12/29/05, Joenio Marques <joenio em gmail.com>
> wrote:
> > é mesmo bem mais lento? humm... nao sabia nao!
> > vou dar uma olhada no Class::Accessor.
> 
> Bem, o Class::Accessor propriamente dito é algo em
> torno de 50% mais
> rápido, porém o Class::Accessor::Fast é quase 3
> vezes mais rápido.
> 
> Eu acabei de fazer um pequeno benchmark de testes,
> os resultados foram:
> ------------------------
> Benchmark: timing 200000 iterations of AUTOLOAD,
> Acessores manuais,
> Class::Accessor, Class::Accessor::Fast...
> 
> AUTOLOAD:  5 wallclock secs ( 5.00 usr +  0.01 sys =
>  5.01 CPU) @
> 39920.16/s (n=200000)
> Acessores manuais:  1 wallclock secs ( 2.09 usr + 
> 0.00 sys =  2.09
> CPU) @ 95693.78/s (n=200000)
> Class::Accessor:  4 wallclock secs ( 3.74 usr + 
> 0.00 sys =  3.74 CPU)
> @ 53475.94/s (n=200000)
> Class::Accessor::Fast:  2 wallclock secs ( 1.85 usr
> +  0.00 sys = 
> 1.85 CPU) @ 108108.11/s (n=200000)
> ------------------------
> Por algum motivo, além da minha compreensão, o
> Class::Accessor::Fast
> foi *mais rápido* que os métodos acessores que eu
> criei manualmente.
> Quem quiser dar uma olhada no código que utilizei
> para benchmark, está
> como attachment.


Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1


	



	
		
_______________________________________________________ 
Yahoo! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 



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