[Rio-pm] tamanho do nome da variavel

breno breno em rio.pm.org
Terça Abril 19 19:07:21 PDT 2011


Fiz um benchmarking rápido e idiota que simula criação/destruição de 5
mil variáveis, 500 mil vezes, uma vez com nomes grandes (26
caracteres) e outra com nomes pequenos. Não dá pra perceber nenhuma
diferença significativa.

O código é:

garu em bebop:~$ perl -E 'my $v = q[aaaaaaaaaaaaaaaaaaaaaaaaaa]; say
q[for (1..500000) {]; for (1..5000) { say q[    my $] . $v++ . q[ =
1;]; } say q[}]' > grande.pl
garu em bebop:~$ perl -E 'my $v = q[a]; say q[for (1..500000) {]; for
(1..5000) { say q[    my $] . $v++ . q[ = 1;]; } say q[}]' >
pequeno.pl

E a execução:

garu em bebop:~$ time perl grande.pl
real    4m35.705s
user    4m34.080s
sys     0m0.530s

garu em bebop:~$ time perl pequeno.pl
real    4m31.193s
user    4m30.020s
sys     0m0.140s


Note que o tempo de ambos está dentro da mesma média, até pq a máquina
não é dedicada, estou ouvindo música, navegador aberto com um milhão
de abas, etc. Repare outras execuções:

garu em bebop:~$ time perl grande.pl
real    4m45.971s
user    4m42.970s
sys     0m1.610s

garu em bebop:~$ time perl grande.pl
real    4m28.180s
user    4m26.260s
sys     0m0.790s


O que isso prova? Absolutamente nada, exceto que estou entediado =)

[]s

-b


2011/4/19 Tiago Peczenyj <tiago.peczenyj em gmail.com>:
> bixo, eu pessoalmente nao acredito que o tamanho do nome da variavel
> tenha algum impacto na performance. não tenho uma referencia para te
> passar mas seria um tanto absurdo.
>
> 2011/4/19 Diogo Leal <estranho em diogoleal.com>:
>> Oi pessoal,
>>
>> Eu e o Ronald estamos neste momento resolvendo um dos problemas[1] que tem
>> no codechef[2] em Perl e tivemos uma dúvida referente ao tamanho da string.
>>
>> Se eu definir
>>
>> $a = 1;
>>
>> ao invés de
>>
>> $
>> variavelgrandepracarambagrandegrandemesmo = 1;
>>
>> Isso influencia na performance ao executar o script?
>>
>> Eu ouvi dizer que o interpretador de Perl troca o nome da variável por um
>> hash para economizar tempo, isso é verdadeiro?
>>
>> [1] - http://www.codechef.com/viewsolution/528336
>> [2] http://www.codechef.com/
>>
>> ps. o script foi feito em pouco tempo e da pra melhorar ele bastante.
>>
>>
>>
>> Diogo Leal [aka estranho]
>> http://diogoleal.com
>> msn | gtalk: estranho em diogoleal.com
>>
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


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