GNOME Bugzilla – Bug 576954
Accerciser takes a lot of CPU when idle
Last modified: 2019-03-27 20:11:29 UTC
When I launch accerciser and it just sits there, it takes about %50 of the CPU.
Created attachment 133641 [details] This is the original powertop result my notebook (Toshiba Satelite L300-144). This is the original powertop result my notebook (Toshiba Satelite L300-144). Now I don't doing modification with at-spi and orca source tree.
Created attachment 133642 [details] This is the second powertop result, see my comment below. This is the second powertop result after I doed the following modification: In src/orca/orca.py module, I changed the line "registry.start()" to "registry.start(gil=False) Interesting, but after doed this modification, my notebook does'nt produce a disturb beep every time when disk usage or large task happen. This is fantastic! Attila
Created attachment 133645 [details] This is the third powertop result, see my comment below. Sure by sure, I doed second suggestion with pyatspi/registry.py: time.sleep(1e-3) Interesting, but when all modifications doed, the cpu usage is very low: Now 1. cpu is 6.5%, 2. cpu is 9.8%. This is an Intel Dualcore T2370 processor, and now I using 32 bit of Jaunty. Very fantastic. I don't known change or not change my notebook battery time, because now charging after second powertop look. Will, I have some questions, I would like do this two modifications with patches: 1. Orca and at-spi uses now only the git repository? 2. If yes, how can make the patch, similar with svn diff >patch.txt? I try git diff >patch.txt, but the patch -p0 <patch.txt does'nt work. 3. I use 2-26 or trunk age when I do this two patch? Attila
Hi Hammer, This is excellent news! Yes, git is very easy to use, and it is similar to SVN for making patches. We would welcome those two changes once you provide patches.
Eitan - is the GIL code necessary? I remember doing it in the Orca atspi code because I was chasing down nasty hangs, but I believe I eventually found the culprit of those hangs was bad threading code in DECtalk. So, if the GIL code is not necessary, maybe we could make the default for the 'gil' parameter be 'False' in pyatspi.registry.start? Alternatively, I could add an option to Orca (and you could do something similar in Accerciser) to allow the user to override the value as a means to experiment.
It is necessary for multi-threaded apps, i think. I agree that 'gil' should False by default. But it constitutes as a API change, so I would not do that in a stable release. On the other hand gil=False in accerciser and orca would be a good idea for the next point release.
[Resetting QA Contact to newly introduced "at-spi-maint@gnome.bugs". Reason: So far it was impossible to watch changes in at-spi bug reports without following all the specific persons (Li Yuan, Bill Haneman, Jeff Wai, ...) and also their activity outside of at-spi reports. IMPORTANT: Anyone interested in following all bug activity (including all maintainers) must watch the "at-spi-maint@gnome.bugs" dummy user by adding it to the 'Users to watch' list under Preferences->Email preferences. This is also the default procedure nowadays in GNOME when setting up new products.]
[Mass-resetting default assignee, see bug 705890. Please reclaim this bug report by setting the assignee to yourself if you still plan to work on this. Thanks!]
I'm going to go ahead and close this because it concerns a very old version. Feel free to open a new bug if the problem persists.