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


Groups > comp.lang.python > #77695

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

Date 2014-09-07 20:39 +0000
From kjs <bfb@riseup.net>
Subject Re: weakref, memory management and execution slow down in PyQt4
References <540BFE43.5030006@riseup.net> <loom.20140907T152314-538@post.gmane.org> <540CADDD.3050501@riseup.net> <540CB15C.2060008@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.13862.1410159925.18130.python-list@python.org> (permalink)

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Michael Torrie:
> On 09/07/2014 01:11 PM, kjs wrote:
>> Thanks for the advice. I commented out the graph generation and PyQt call
>>
>>>>> self.app.processEvents()
>>
>> where in the class __init__
>>
>>>>> self.app = QtGui.QApplication(sys.argv)
>>
>> This stopped the weakref proliferation. All other objects grow and
>> shrink in number as expected.
> 
> Can you make an absolute minimal example with no widgets save the graph
> itself?  You could then go to the PyQt folks with that.  Could be a bug,
> or could be an improper use of something by your code.  This is one of
> the problems with using Qt in other languages: it's not a perfect fit
> for Python's object model as it is C++-based.  So you have to think like
> a C++ programmer, and you might have to manage some resources manually,
> unlike normal Python objects which for the most part take care of
> themselves.
> 

The code is minimal[0]. The only other widgets are a start button that
fires off the plotting and a stop button that calls sys.exit().

Lines 112-114 appear to be causing the weakref proliferation.

I do not doubt that I could be using PyQt4 incorrectly. I'll send a
message to the pyqt mailing list as well.

> Also you could try a minimal example using PySide instead of PyQt and
> see if that also manifests the leak.  If so, then the problem could be
> in Qt itself.  Though I suspect the problem is some kind of impedance
> mismatch between C++ and Python.
> 

Thanks much,
Kevin

[0]
https://github.com/kevinjos/kaggle-aes-seizure-prediction/blob/master/explore.py

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: weakref, memory management and execution slow down in PyQt4 kjs <bfb@riseup.net> - 2014-09-07 20:39 +0000

csiph-web