.readline() - VERY SLOW compared to PERL
Alex Martelli
aleaxit at yahoo.com
Thu Nov 16 08:32:56 EST 2000
<cbarker at jps.net> wrote in message news:8uus6b$psp$1 at nnrp1.deja.com...
[snip]
> for line in whole_file:
> data = map(float,string.split(string.strip(line),','))
> data = tuple(map(lambda x: 6*x, data))
> outfile.write('%12g, %12g, %12g, %12g, %12g, %12g, %12g\n'%data )
Just wondering -- what happens with some Python 2 version
of the processing, such as...:
data = ['%12g'%(6.0*float(x)) for x in ','.split(line)]
outfile.write(', '.join(data)+'\n')
(the .strip should be useless here, as float takes no
notice of leading/trailing whitespace anyway, I think)...?
I do realize that the list-comprehension version is not as
'optimizing' as one would think (it can even make things
slower, or at least I recall seing results to that effect
posted), but I wonder if removing the multiple map calls,
old-style string.split (which now delegates to the string
object's split method -- gotta be some overhead in that),
redundant string.strip, lambda, and tuple-building, makes
a discernible effect in the overall resulting performance.
Alex
More information about the Python-list
mailing list