[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] performance: 1000 wakeups/sec when idle!

From: John Gilmore
Subject: Re: [Gnash-dev] performance: 1000 wakeups/sec when idle!
Date: Tue, 02 Jun 2009 12:28:06 -0700

> I guess the main problem here would be profiling as gprof won't
> notice the amount of time spent there, similarly to how allocation
> costs went unnoticed in the ninja case.

Here's another angle on profiling gnash.

I am running "powertop" on Ubuntu 9.04 on an Acer Aspire One, and have
gnash-0.8.5 (the standard Ubuntu package) running in a web browser for
YouTube.  Powertop showed more than 1000 wakeups/second from gnash
doing nanosleeps.

The screen only refreshes at 60 Hz; you can't draw any faster than
that.  Why is gnash waking up at 1-ms intervals?

The result is that the CPU jumps between its lowest possible speed
(800 MHz) and its highest, because it sees intermittent but
significant CPU load.  This burns a lot of power.

When I quit gnash, the wakeup load goes down to 78 wakeups/sec,
mostly hardware interrupts.

When I refresh the page and run a Youtube video, it goes down to 270
wakeups per second, half of which come from gnash.  When I pause the
video, it goes up to about 400 wakeups/sec (140 from
schedule_hrtimeout_range from gnash, and 120 from do_nanosleep from
gnash).  When the video is done, and YouTube is just showing
thumbnails of other videos, that's when the wakeups go to 1300/sec.
It seems to be really jamming the CPU when it *isn't* playing


reply via email to

[Prev in Thread] Current Thread [Next in Thread]