Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 29 Jun 2011 15:27:36 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: Anti-bloat side project

On Wed, Jun 29, 2011 at 04:19:45PM +0200, Szabolcs Nagy wrote:
> * Rich Felker <dalias@...ifal.cx> [2011-06-27 17:43:00 -0400]:
> > Of course a better question is... why does "hello world" need to load
> > any modules anyway? Perhaps a best first step to fixing the problem
> > would be to demodularize and static link any module that will always
> > be loaded...
> 
> btw applications are worse even if they are written in c

Well we're now talking about applications which actually DO
something...

> gtk hello:
> $ strace zenity --info --text=hello 2>&1 |wc -l
> 6491

What about the gtk hello world from the gtk tutorial?

> x terminal emulators:
> $ strace xterm -e /bin/true 2>&1 |wc -l
> 1214
> $ strace urxvt -e /bin/true 2>&1 |wc -l
> 850

These numbers are not that bad... only about twice as much as Python
and doing A LOT more. By the way, uuterm is 525, so the vast majority
of that is xlib... (Of course then uuterm starts the evil blinking
cursor if you leave it sitting.. ;)

> $ strace -c -Scalls zenity --info --text=hello
> % time     seconds  usecs/call     calls    errors syscall
> ------ ----------- ----------- --------- --------- ----------------
>  13.70    0.000181           0      1510       417 stat64
>   9.84    0.000130           0      1277       573 open
>  59.95    0.000792           1       988           getdents64

Looks like it's performing a lot of scandir or glob...

> $ strace -c -Scalls -f firefox -P empty -url about:blank
> ....
>  64.14    0.849392        1361       624        26 futex

624 cases of lock contention during startup is pretty bad...

>   0.24    0.003125         156        20           clone

Of course 20 threads could contribute to that...

>   0.48    0.006364         424        15         2 wait4

And lots of child processes..?!

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.