Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #77750 > unrolled thread

Re: weakref, memory management and execution slow down in PyQt4

Started byTerry Reedy <tjreedy@udel.edu>
First post2014-09-09 22:15 -0400
Last post2014-09-09 22:15 -0400
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: weakref, memory management and execution slow down in PyQt4 Terry Reedy <tjreedy@udel.edu> - 2014-09-09 22:15 -0400

#77750 — Re: weakref, memory management and execution slow down in PyQt4

FromTerry Reedy <tjreedy@udel.edu>
Date2014-09-09 22:15 -0400
SubjectRe: weakref, memory management and execution slow down in PyQt4
Message-ID<mailman.13914.1410315349.18130.python-list@python.org>
On 9/9/2014 11:34 AM, Michael Torrie wrote:
> On 09/08/2014 08:45 PM, kjs wrote:
>> You're right, a dictionary can do everything I need and more.
>
> Actually I am wrong in suggesting a dictionary.  A list or an array
> would probably be more appropriate.
>
> Thinking about it this morning, one additional reason why getattr and
> setattr aren't appropriate for this task is that they are not just a
> dictionary lookup under the hood, they are an additional layer.  One
> more function call that would be unnecessary if you used a data
> structure directly.

The extra function call for getattr at least doubles the lookup time
 >>> repeat("C.a", "class C: a=1")
[0.06093001107618079, 0.042186288111423664, 0.04218598069616064]
 >>> repeat("getattr(C, 'a')", "class C: a=1")
[0.13152054655972734, 0.1100451316336688, 0.11021882125309901]

-- 
Terry Jan Reedy

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web