Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #77695 > unrolled thread
| Started by | kjs <bfb@riseup.net> |
|---|---|
| First post | 2014-09-07 20:39 +0000 |
| Last post | 2014-09-07 20:39 +0000 |
| 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.
Re: weakref, memory management and execution slow down in PyQt4 kjs <bfb@riseup.net> - 2014-09-07 20:39 +0000
| From | kjs <bfb@riseup.net> |
|---|---|
| Date | 2014-09-07 20:39 +0000 |
| Subject | Re: weakref, memory management and execution slow down in PyQt4 |
| Message-ID | <mailman.13862.1410159925.18130.python-list@python.org> |
[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 top | Article view | comp.lang.python
csiph-web