[OLPC-devel] Re: [sugar] Re: pygtk performance issue
Mike Hearn
mike at plan99.net
Wed Sep 6 09:31:57 EDT 2006
On Wed, 06 Sep 2006 14:26:32 +0200, Marco Pesenti Gritti wrote:
> The reduced test case I attached to the mail starting this thread is
> doing only "open".
>
> On the OLPC:
>
> Total "import gtk" time : 0.9 secs
> 500 opens with my testcase: 0.35 secs
> (import gtk cause around 500 opens)
>
> Note that I'm ignoring all the "stat". Still, this seem to be a good
> part of the startup time.
Profiles from my own system are here:
http://plan99.net/~mike/python.modules.oprofile
http://plan99.net/~mike/python.symbols.oprofile
I think the open() related parts would be:
53 0.5516 vmlinux-2.6.16.13-4-default do_page_fault
...
32 0.3330 vmlinux-2.6.16.13-4-default __d_lookup
One issue I see - your test case is written in Python itself, whereas the
Python VM is written in C. On my system this makes a big difference:
mike at linux:/tmp> time ./opentest
real 0m0.136s
user 0m0.000s
sys 0m0.076s
mike at linux:/tmp> time python ./opentest.py
10000 open: 0.507028
real 0m0.677s
user 0m0.456s
sys 0m0.112s
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
char fname[1024];
for (int i = 0; i < 10000; i++)
{
sprintf(fname, "/tmp/foo.%04d", random() % 9999);
open(fname, O_RDONLY);
}
}
thanks -mike
More information about the Sugar
mailing list