This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author james.mccormack
Recipients james.mccormack
Date 2019-03-23.15:57:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1553356668.85.0.0833740641737.issue36408@roundup.psfhosted.org>
In-reply-to
Content
I am measuring multi-process GUI performance (Tkinter 8.6, Python 3.7) for drawing lines, circles, text boxes, etc. In a fairly typical experiment on a i7-6700HQ, 4-core (8 thread), on Windows 10 I measure 25.5k objects/sec for one process running alone, and 19.9k objects/sec total for eight processes. For Linux Kubuntu KDE desktop the figures are 61k objects/sec and 230k objects/sec (a multi-core boost of times 3.8). For running eight processes, the performance difference, KDE vs Win10, is therefore times 11.6. The difference over a range of tests is 10-25 times.
	
Clearly Win10 is not doing multi-core. Perhaps Tkinter is calling a Windows SDK function which is not thread-safe within the Windows GDI, imposing a single-thread barrier system-wide?
	
I am just wondering, firstly, if I have simply missed mention of this limitation anywhere. I can supply more info if needed.
History
Date User Action Args
2019-03-23 15:57:48james.mccormacksetrecipients: + james.mccormack
2019-03-23 15:57:48james.mccormacksetmessageid: <1553356668.85.0.0833740641737.issue36408@roundup.psfhosted.org>
2019-03-23 15:57:48james.mccormacklinkissue36408 messages
2019-03-23 15:57:48james.mccormackcreate