From: Tavis R. <ta...@ca...> - 2001-04-09 22:51:10
|
I'm getting very different results from you guys. TemplateFiller currently uses exec to generate a function def that sets some vars in the local namespace and ends with """ return ''.join(['''" + processedTemplateList + "''']) """ .temp2.py is --------------------------- from SkeletonPage import Template template = Template() for i in range(60000): print template --------------------------- the current "".join approach yeilds: tavis@lucy: > time python .temp2.py >/dev/null real 0m3.351s user 0m3.290s sys 0m0.020s from cStringIO import StringIO ... """output = StringIO() output.writelines(['''" + processedTemplateList + "''']) return output""" yeilds: tavis@lucy: > time python .temp2.py > /dev/null real 0m4.518s user 0m4.470s sys 0m0.010s string.join is 27% faster in this situation How can I move the output = StringIO() out of the loop without causing concurrency problems? Tavis |