On Friday 18 February 2005 18:00, Hans-Peter Jansen wrote: and here's a more detailed comparison from the two:
9.0: 9.2: sip version: 4.1.1 sip version: 4.0.1 Qt version: 3.2.1 Qt version: 3.3.3 PyQt version: 3.13 PyQt version: 3.12 Python: 2.3 Python: 2.3.4 Initial Values Initial Values VmSize: 4928 kB VmSize: 4276 kB VmData: 1404 kB VmData: 852 kB VmRSS: 2772 kB VmRSS: 2508 kB VmLib: 2984 kB VmLib: 2886 kB Import qt Import qt VmSize: 22464 kB 17536 kB VmSize: 21652 kB 17376 kB VmData: 1584 kB 180 kB VmData: 1200 kB 348 kB VmRSS: 9336 kB 6564 kB VmRSS: 8252 kB 5744 kB VmLib: 19552 kB 16568 kB VmLib: 19190 kB 16304 kB Create Application Create Application VmSize: 60972 kB 38508 kB VmSize: 23912 kB 2260 kB VmData: 2692 kB 1108 kB VmData: 2492 kB 1292 kB VmRSS: 13656 kB 4320 kB VmRSS: 11020 kB 2768 kB VmLib: 21252 kB 1700 kB VmLib: 19230 kB 40 kB Create Pushbutton Create Pushbutton VmSize: 60972 kB 0 kB VmSize: 23904 kB -8 kB VmData: 2692 kB 0 kB VmData: 2484 kB -8 kB VmRSS: 13824 kB 168 kB VmRSS: 11188 kB 168 kB VmLib: 21252 kB 0 kB VmLib: 19230 kB 0 kB Show Pushbutton Show Pushbutton VmSize: 62964 kB 1992 kB VmSize: 26356 kB 2452 kB VmData: 4272 kB 1580 kB VmData: 4476 kB 1992 kB VmRSS: 15896 kB 2072 kB VmRSS: 13836 kB 2648 kB VmLib: 21640 kB 388 kB VmLib: 19606 kB 376 kB Connect Pushbutton signal Connect Pushbutton signal VmSize: 62964 kB 0 kB VmSize: 26356 kB 0 kB VmData: 4272 kB 0 kB VmData: 4476 kB 0 kB VmRSS: 15924 kB 28 kB VmRSS: 13860 kB 24 kB VmLib: 21640 kB 0 kB VmLib: 19606 kB 0 kB Enter Mainloop Enter Mainloop VmSize: 63136 kB 172 kB VmSize: 26356 kB 0 kB VmData: 4404 kB 132 kB VmData: 4476 kB 0 kB VmRSS: 16260 kB 336 kB VmRSS: 14196 kB 336 kB VmLib: 21676 kB 36 kB VmLib: 19606 kB 0 kB Mainloop finished Mainloop finished VmSize: 63136 kB 0 kB VmSize: 26356 kB 0 kB VmData: 4404 kB 0 kB VmData: 4476 kB 0 kB VmRSS: 16260 kB 0 kB VmRSS: 14196 kB 0 kB VmLib: 21676 kB 0 kB VmLib: 19606 kB 0 kB Delete Pushbutton Delete Pushbutton VmSize: 63128 kB -8 kB VmSize: 26356 kB 0 kB VmData: 4396 kB -8 kB VmData: 4476 kB 0 kB VmRSS: 16260 kB 0 kB VmRSS: 14200 kB 4 kB VmLib: 21676 kB 0 kB VmLib: 19606 kB 0 kB Delete Application Delete Application VmSize: 38132 kB -24996 kB VmSize: 25688 kB -668 kB VmData: 4396 kB 0 kB VmData: 4268 kB -208 kB VmRSS: 16028 kB -232 kB VmRSS: 13848 kB -352 kB VmLib: 21288 kB -388 kB VmLib: 19230 kB -376 kB Funny are the tremendous movements in QApplication ctor/dtor on the left. Pete
#! /usr/bin/env python import sys, os class ProcMem: def __init__(self): self.pid = os.getpid() self.initial = self.getValues() self.showValues(self.initial) def getValues(self): val = {} fp = open("/proc/%s/status" % self.pid, "r") for l in fp: if l.startswith("Vm"): k, v = l.split()[:2] if k in ("VmData:", "VmLib:", "VmRSS:", "VmSize:"): val[k] = int(v) return val def showValues(self, val, val2 = None): for k in "VmSize:", "VmData:", "VmRSS:", "VmLib:": if val2: print "%-7s %8s kB %8s kB" % (k, val[k], val[k]-val2[k]) else: print "%-7s %8s kB" % (k, val[k]) def diffValues(self): val = self.getValues() self.showValues(val, self.initial) self.initial = val print "Initial Values" pm = ProcMem() print "Import qt" import qt pm.diffValues() print "Create Application" a = qt.QApplication(sys.argv) pm.diffValues() print "Create Pushbutton" b = qt.QPushButton("&Hello World", None) a.setMainWidget(b) pm.diffValues() print "Show Pushbutton" b.show() pm.diffValues() print "Connect Pushbutton signal" a.connect(b, qt.SIGNAL("clicked()"), qt.qApp.quit) pm.diffValues() print "Enter Mainloop" a.exec_loop() pm.diffValues() print "Mainloop finished" pm.diffValues() print "Delete Pushbutton" del b pm.diffValues() print "Delete Application" del a pm.diffValues()
_______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde