miércoles, 11 de junio de 2008

¿Qué demora más al construir strings?

Siempre me he preguntado cuál es la forma más óptima de construir strings, ya que Python ofrece muchas maneras, bueno, para probar respecto al tiempo de generación hice unos pequeños scripts que iteran muuuchas veces sobre una construcción de string y el resultado fue el siguiente:

$ time python str_concatenate.py
real 0m10.959s
user 0m10.380s
sys 0m0.482s

$ time python str_onestring.py
real 0m15.336s
user 0m14.485s
sys 0m0.688s

$ time python str_join.py
real 0m12.853s
user 0m12.075s
sys 0m0.613s


Conclusión:
El uso de " "+str(algo1)+" "+str(algo2) es más rápido,
le sigue el uso de join (si es una lista de cosas) " ".join(str(algo1),str(algo2))
y por último "%s %s" % (algo1,algo2), que yo pensé que era el más rápido :-(

Como decía mi primo: "plop! Pepo"

No hay comentarios: