В Интернете много статей о производительности python, первое, что вы читаете: конкатенировать строки не следует, используя "+": избегать s1 + s2 + s3, вместо этого использовать str.join
Я пробовал следующее: конкатенация двух строк как часть пути к каталогу: три подхода:
- '+', который я не должен делать
- str.join
- os.path.join
Вот мой код:
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
Здесь результаты (python 2.5 WinXP)
0.0182201927899
0.0262544541275
0.120238186697
Разве это не должно быть наоборот?