Method much slower than function?

Grant Edwards grante at visi.com
Thu Jun 14 10:18:43 EDT 2007


On 2007-06-14, Leo Kislov <Leo.Kislov at gmail.com> wrote:
> On Jun 13, 5:40 pm, ido... at gmail.com wrote:
>> Hi all,
>>
>> I am running Python 2.5 on Feisty Ubuntu. I came across some code that
>> is substantially slower when in a method than in a function.
>>
>> >>> cProfile.run("bar.readgenome(open('cb_foo'))")
>>
>>          20004 function calls in 10.214 CPU seconds
>
>> >>> cProfile.run("z=r.readgenome(open('cb_foo'))")
>>
>>          20004 function calls in 0.041 CPU seconds
>>
>
> I suspect open files are cached

They shouldn't be.

> so the second reader picks up where the first one left: at the
> of the file.

That sounds like a bug.  Opening a file a second time should
produce a "new" file object with the file-pointer at the
beginning of the file.

> The second call doesn't do any text processing at all.

-- 
Grant Edwards                   grante             Yow! I'm using my X-RAY
                                  at               VISION to obtain a rare
                               visi.com            glimpse of the INNER
                                                   WORKINGS of this POTATO!!



More information about the Python-list mailing list