Can I do this faster?

Horst Gassner horst at proceryon.at
Wed Aug 9 04:57:19 EDT 2000


Hello Michael!

Thank you for your help.
Unfortunately your solution is much slower.

Profiler says:
old approach: 17033 calls, cumtime 2.49
new approach:  2597 calls, cumtime 16.91

Nice greetings
Horst


Michael Hudson wrote:
> 
> Horst Gassner <horst at proceryon.at> writes:
> 
> > Hello!
> >
> > The following code is executed very often in my program and I would be
> > happy if someone could help me to speed this up.
> >
> > def __GetRowID (s, row):
> >       for key in s.__rowDict.keys():
> >               if s.__rowDict[key]['data'] == row:
> >                       return key
> 
> Try this?
> 
> def __GetRowID (s, row):
>     return filter(lambda (k,v),r=row:v['data']==r,
>                         s.__rowDict.items())[0][0]
> 
> It *might* be a bit faster.  Not a lot, I suspect.  Would you let me
> know?  I'm kinda curious...
> 
> HTH,
> M.



More information about the Python-list mailing list