Hi! Testcase: Fill the journal with hundreds of entries and automate the GtkScrollWindow in the journal to scroll one entry at time on a timeout.
Build: joyride-2281 + Macro investigation of cpu usage A picker graph taken during the test can be found at: http://dev.laptop.org/~rlucchese/journal_scrolling/journal_scrolling.picker.svg (http://dev.laptop.org/~rlucchese/journal_scrolling/journal_scrolling.picker) The following tab shows cpu usage of the 4 processes that took more cpu time during the sampling time: ($ grapher -c4 -n -r cpu -i journal_scrolling.picker) tot% ps% cmdline ----------------------- 68.2 python /usr/bin/sugar-activity journalactivity... 88.6 20.4 /usr/bin/X :0 -fp built-ins -wr ... 94.3 5.7 picker 99.5 5.2 python /usr/bin/datastore-service >From the interactions with X it seems the journal activity spends a sensible amount of time redrawing its entries. The test runs slower when the journal has more entries than when it's almost empty, why is it ? + cProfile statistics (KCG format) for the journal activity: http://dev.laptop.org/~rlucchese/journal_scrolling/journal_scrolling.cProfile functions ordered by self-time: 17.2 gtk.main() 16.5 cairo.Context.paint() 4. find in gettext.py 3.9 set._jobject of Journal.activity/collapsedentry.py::228 2.9 built-in method do_size_allocate 2.9 _expand_lang gettext.py 2.8 join in posixpath.py 2.6 posix.stat() 2.1 _update_color of Journal.activity/collapsedentry.py 1.7 normalize in locale. py 1.6 exists in posix.path.py 1.5 set._jobject of Journal.activity/collapsedentry.py::323 -------------------------------------------------------------- 59.8% I find interesting to note that 28.5% of the total time goes to `get_date' of Journal.activity/misc.py because of the ngettext overhead. Perhaps translations could be cached ? + Sysprof statistics: http://dev.laptop.org/~rlucchese/journal_scrolling/journal_scrolling.sysprof Not very interesting this time. Thanks, riccardo _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel