Coste de len() en strings

camontuyu camontuyu en yahoo.es
Vie Feb 24 10:25:49 CET 2006


El jue, 23-02-2006 a las 22:48 -0300, Alvaro Leiva escribió:
> Aparentemente el coste no depende de el tamaño de un string.
> 
> En todo caso puedes verlo tu enpiricamente con este programita
> 
> from timeit import Timer
> 
> 
> x=["a"*10,"a"*100,"a"*1000,"a"*10000]
> 
> for i in x*5:
>     print Timer("len(x)","x='%s'" % i).timeit()
> 
> Te daras cuenta que casi siempre te imprime el mismo numero "0.55" en mi
> computador....
> 
> Esto deja en claro que el coste no depende de el largo del string. No asi
> cuando uno ejecuta esto con listas
> 
> x=[["a"]*10,["a"]*100,["a"]*1000,["a"]*10000]
> 
> for i in x*5:
>     print Timer("len(x)","x=%s" % i).timeit()
> 
> Que arroja siempre valores pequeños de tiempo para ["a"]*10 y los tiempos
> siempre son acendentes....
> 
> Este metodo del from timeit import Timer siempre lo ocupo cuando tengo una
> duda sobre el coste de una funcion... Muy util cuando uno programa
> algoritmos de optimisacion lineal como el simplex... Algoritmos famosos por
> su tendencia a volverse lentos
> 

Muy interesante esta conversación. Saliendome un poco del tema..., el
método que acabas de mostrar para medir tiempos se podría hacer con un
conjunto de instrucciones y funciones???

Saludos


	
	
		
______________________________________________ 
LLama Gratis a cualquier PC del Mundo. 
Llamadas a fijos y móviles desde 1 céntimo por minuto. 
http://es.voice.yahoo.com
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es