This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Performance problems with emacs-X11 in current cygwin


On 6/14/2012 3:18 PM, Ryan Johnson wrote:
On 13/06/2012 5:40 PM, Christopher Faylor wrote:
On Wed, Jun 13, 2012 at 05:07:17PM -0400, Ken Brown wrote:
On 6/13/2012 2:40 PM, Ken Brown wrote:
On 6/10/2012 8:45 PM, Ken Brown wrote:
The bisection shows that the first problematic commit is this one:

http://git.gnome.org/browse/glib/commit/?h=glib-2-32&id=7eae486179e2799c369ed9ffcea663bf9161ce79




Author: Ryan Lortie<desrt@desrt.ca> Date: Wed Aug 31 22:07:02 2011 -0400

GMain: simplify logic for g_wakeup_acknowledge()

Instead of messing around with context->poll_waiting, just look at the
GPollFD to see if the GWakeup needs to be acknowledged.
I think this commit contains a typo: "events" should be "revents".
(context->wake_up_rec.events is always nonzero at this point in the
code, so it makes no sense to test that.) As a result,
g_wakeup_acknowledge() is being called much more often than
necessary. I
think this could easily explain the performance problems that have been
reported, but I won't have a chance to test this on my (slow) XP system
for a while, and possibly not until tomorrow.
I've confirmed that fixing the typo solves the problem on my XP system.
I suspect that this issue is not specific to XP after all and has more
to do with the slowness of the machine, so that the performance problem
is more noticeable. In any case, it's clearly a glib bug.

I've filed a bug report upstream:

https://bugzilla.gnome.org/show_bug.cgi?id=678052
What incredible perseverence you've shown in tracking this down. Bravo!
++

Amazing. This is one of the nastier kinds of bugs I've seen anybody
track down...

Thanks. I actually enjoyed learning some new things, though it was frustrating at times.


Ken


-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]