Datastore profiling
riccardo
riccardo.lucchese at gmail.com
Mon Aug 11 06:06:04 EDT 2008
On Sat, 2008-08-09 at 15:30 +0200, riccardo wrote:
> Hi,
>
>
> Testcase:
> Fill the datastore with `many small' objects.
>
> Build: 2266
< ... >
>
>
> + Sysprof statistics:
> http://dev.laptop.org/~rlucchese/datastore_fill/small_files__b20000000.sysprof
>
> I can't see anything relevant for libxapian and it's bindings (xapian
> dbg packages were installed)
>
> Quite a bit of time goes to librsvg functions rendering svg icons to
> GtkPixbufs. Attaching strace to the journal activity and grepping "open"
> on its output gives:
> <
> ...
> open("/usr/share/icons/sugar/scalable/mimetypes/text-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/image-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/audio-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/video-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/text-uri-list.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/text-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/image-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/audio-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> open("/usr/share/icons/sugar/scalable/mimetypes/video-x-generic.svg",
> O_RDONLY|O_LARGEFILE) = 11
> ...
> >
>
> Does this come from sugar.mime or any sugar component ?
> If yes, would it be possible to share one icon-cache between all sugar
> modules ?
>
I repeated the test to get cProfile statistics for the journal
activity:
http://dev.laptop.org/~rlucchese/datastore_fill/cProfile_journal_while_filling_ds
98.4% of the total time goes to __data_store_created_cb.
Perhaps this function could only set a flag and delay data retrieval
(from the DS) to the next time the journal's window is shown?
Riccardo
More information about the Devel
mailing list