Sto usando il modulo pyglet python (python 3 su Windows). Quando faccio riferimento a qualsiasi classe all'interno di pyglet.image, l'utilizzo della CPU di Python salta e non si interrompe finché non esco da python. Ad esempio:Perché fare riferimento a una classe in pyglet.image (python) causa un carico pesante della CPU su Windows?
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Anaconda3>python.exe
Python 3.4.3 |Anaconda 2.3.0 (64-bit)| (default, Mar 6 2015, 12:06:10) [MSC v.1
600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyglet #No problem!
>>> pyglet.image.ImageData #Heavy CPU load until I exit python
<class 'pyglet.image.ImageData'>
È questo comportamento previsto? Perché menzionare questa classe (nemmeno istanziarlo) porta a un carico così elevato della CPU?
sistemi che ho provato:
desktop di Windows 7 con Anaconda pitone 3.4.3 e pyglet installato attraverso 'pip installare pyglet': l'utilizzo elevato della CPU (il mio problema)
Lo stesso desktop Win7 con Anaconda python 3.4.3, ma pyglet installato tramite 'pip install hg + https://bitbucket.org/pyglet/pyglet': elevato utilizzo della CPU.
Lo stesso desktop Win7 con python 3.5 di python.org e pyglet installato tramite "pyglet di installazione di pip": elevato utilizzo della CPU.
Fedora 22 laptop Lenovo con python 3.4.2 e pyglet 1.2.1 installato tramite dnf: nessun problema.
Windows 10 laptop HP con Anaconda python 3.4 e pyglet installati tramite 'pip install pyglet': nessun problema.
È possibile che questo sia dipendente dall'hardware?
Si potrebbe provare a profilarlo: https://docs.python.org/3.5/library/profile.html – Nathaniel
Si ottiene un traceback se si preme ctrl-C? – shx2
L'input che porta ad un elevato utilizzo della CPU ritorna immediatamente. Se I Ctrl-C, non ottengo un traceback. – Andrew