Ruby 1.9.3 power efficiency ends wmiirc woes
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! :-)