Ruby 1.9.3 power efficiency ends wmiirc woes

Suraj N. Kurapati

For those who were weary of my Ruby wmiirc‘s power consumption, I am happy to announce that the latest Ruby 1.9.3-p0 stable release has solved Ruby’s problem of causing excessive CPU wakeups-from-idle which would drain your laptop battery much sooner than you’d expect.

On my ASUS UL30A-A2 laptop running Arch Linux, powertop shows that Ruby 1.9.3-p0 running my wmiirc causes 2 CPU wakeups-from-idle per second:

Top causes for wakeups:
34.6% (101.0)   chromium
16.1% ( 46.9)   [hda_intel] <interrupt>
12.8% ( 37.5)   [kernel scheduler] Load balancing tick
10.4% ( 30.4)   kworker/0:0
 4.0% ( 11.6)   SignalSender
 3.8% ( 11.1)   [kernel core] hrtimer_start (tick_sched_timer)
 3.8% ( 11.0)   [ath9k] <interrupt>
 3.8% ( 11.0)   kworker/u:2
 1.7% (  5.0)   syndaemon
 1.6% (  4.6)   [acpi] <interrupt>
 1.4% (  4.0)   [kernel core] usb_hcd_poll_rh_status (rh_timer_func)
 0.9% (  2.5)   wmii
 0.7% (  2.1)   liferea
 0.7% (  2.0)   [ahci] <interrupt>
 0.7% (  1.9)   ruby
 0.5% (  1.6)   X
 0.4% (  1.2)   ario
 0.3% (  1.0)   [kernel core] tpt_trig_timer (tpt_trig_timer)
 0.3% (  1.0)   ntpd

This is a significant reduction compared to the 100 CPU wakeups-from-idle per second caused by Ruby 1.9.2-p290 running my wmiirc:

Top causes for wakeups:
26.8% (101.7)   chromium
26.4% (100.2)   ruby
12.3% ( 46.9)   [hda_intel] <interrupt>
 9.6% ( 36.3)   kworker/0:0
 6.3% ( 24.0)   [kernel scheduler] Load balancing tick
 3.0% ( 11.5)   [ath9k] <interrupt>
 2.9% ( 11.0)   kworker/u:2
 2.8% ( 10.7)   SignalSender
 2.4% (  9.1)   [kernel core] hrtimer_start (tick_sched_timer)
 1.3% (  5.0)   syndaemon
 1.2% (  4.6)   [acpi] <interrupt>
 1.1% (  4.0)   [kernel core] usb_hcd_poll_rh_status (rh_timer_func)
 0.7% (  2.5)   wmii
 0.6% (  2.1)   liferea
 0.4% (  1.7)   X
 0.3% (  1.2)   ario
 0.3% (  1.0)   kworker/u:0
 0.3% (  1.0)   [kernel core] tpt_trig_timer (tpt_trig_timer)
 0.3% (  1.0)   ntpd

So leave your power cord behind and enjoy wmii with Ruby today! :-)