weakref, memory management and execution slow down in PyQt4

kjs bfb at riseup.net
Tue Sep 9 19:28:50 CEST 2014

On September 9, 2014 8:57:02 AM PDT, Michael Torrie <torriem at gmail.com> wrote:
>On 09/09/2014 09:37 AM, Chris Angelico wrote:
>> On Wed, Sep 10, 2014 at 1:32 AM, Michael Torrie <torriem at gmail.com>
>>> Yes you're correct.  It is the equivalent.  But it always involves
>>> lookup in the object's dictionary, which is big O order O(n log n)
>>> complexity for each and every access.
>> Where do you get that figure from? A CPython dictionary is
>> as a hashtable, so algorithmic complexity of lookups ought to be
>You're right, it is.  My mistake.  Guess the main issue is the overhead
>of an additional function call.  A dict directly or a list directly may
>me faster.
>Anyway, I guess we're wandering in the weeds a bit as the original
>is probably not related to his unorthodox choice of metaprogramming as
>data model.

I agree. I believe I have isolated the issue to be either my user of pyqtgraph, or is implementation. I lean towards the my use, because I know how little effort I put into understanding the library. If I figure on a solution, I'll be sure to come back in. 

I'm also curious why the weakrefs are not being garbage collected. And how many (~20,000) tiny little things can bring processing to a halt after only a couple minutes of runtime. 

More information about the Python-list mailing list