On Sat 26 May 2012 05:06:08 AM CEST, Marco Trevisan (Treviño) wrote: > 2012/5/26 Michal Hruby <[email protected]>: >> On Sat 26 May 2012 01:25:05 AM CEST, Michal Hruby wrote: >>> I implemented a custom GSource that allows adding of multiple timeouts >>> to this single source, I profiled this somewhat (against standard >>> timeout sources) and when using 8 different timeouts, the single custom >>> source requires 2.5x fewer lock calls (g_mutex_lock), ~6% fewer >>> instructions are executed and ~10% fewer branches. >>> >> >> Sorry, it's late :P here's a link to the custom source - >> http://ubuntuone.com/2f9boSuvqS8zhgUcJqMry2 > > Cool, that's very similar to something I had in mind too... > We'd probably could include even the priority support (to be > glib-like) making timeouts that can happen "together" to be selected > also based on their priority... > > However, for first version I think I'd just go with the "basic > wrapper", then I'd just could change it to use something like that. >
The idea with this source was that you'd have one for different priorities and there'd be a global map of priority -> source. A quick grep of unity sources showed that out of 74 timeout sources we're using, only 2 use non-DEFAULT prio. (although 16/29 idle sources use non-DEFAULT_IDLE prio). Anyway ideally your wrapper should be able to handle standard sources *as well as* something like this (where the timeout isn't really GSource-based for the user). -- Mailing list: https://launchpad.net/~unity-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~unity-dev More help : https://help.launchpad.net/ListHelp

