Hay un montón de artículos en la web referentes al desempeño pitón, lo primero que se lee: concatenación de cadenas no debe hacerse uso de '+': evitar S1 + S2 + S3, en lugar de utilizar str.joincadena de Python rendimiento de unión
he intentado lo siguiente: la concatenación de dos cadenas como parte de una ruta de directorio: tres enfoques:
- '+', que no debo hacer
- str.join
- os.path.join
Aquí está mi código:
import os,time
s1='/part/one/of/dir'
s2='part/two/of/dir'
N=10000
t=time.clock()
for i in xrange(N):
s=s1+os.sep+s2
print time.clock()-t
t=time.clock()
for i in xrange(N):
s=os.sep.join((s1,s2))
print time.clock()-t
t=time.clock()
for i in xrange(N):
s=os.path.join(s1,s2)
print time.clock()-t
Aquí los resultados (Python 2.5 WinXP)
0.0182201927899
0.0262544541275
0.120238186697
¿No debería ser exactamente al revés?
Si yo te recomiendo cambiar el nombre del título de tu pregunta a la "cadena de Python rendimiento de unión", simplemente por lo que es más evidente a las personas que podrían presentar una pregunta duplicado. –
También, un poco fuera de tema, pero es posible que desee ver el módulo 'timeit' para hacer los tiempos. –
cambió el título – Danny