|
Message-ID: <20110627211625.GC5036@port70.net> Date: Mon, 27 Jun 2011 23:16:25 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: Anti-bloat side project * Rich Felker <dalias@...ifal.cx> [2011-06-27 13:08:06 -0400]: > As an example it takes Python nearly 600 syscalls just to run a hello > world program, compared to about 40 for perl or bash and 20 for ash > (and of course about 3 for musl-linked C using stdio). Much of this > was spent searching nonsensical pathnames for config files and shared i get different numbers on my (ubuntu) system nsz@tpx:~$ strace python -c '' 2>&1 |wc -l 670 nsz@tpx:~$ strace perl -e '' 2>&1 |wc -l 176 nsz@tpx:~$ strace sh -c '' 2>&1 |wc -l 42 nsz@tpx:~$ strace bash -c '' 2>&1 |wc -l 186 nsz@tpx:~$ strace awk '' 2>&1 |wc -l 95 nsz@tpx:~$ strace mawk '' 2>&1 |wc -l 39 nsz@tpx:~$ strace lua -e '' 2>&1 |wc -l 67 nsz@tpx:~$ strace bc </dev/null 2>&1 |wc -l 60 nsz@tpx:~$ strace sed '' </dev/null 2>&1 |wc -l 110 nsz@tpx:~$ strace cat </dev/null 2>&1 |wc -l 111 nsz@tpx:~$ strace dd </dev/null 2>&1 |wc -l 162 nsz@tpx:~$ strace grep . </dev/null 2>&1 |wc -l 127 nsz@tpx:~$ strace /bin/true 2>&1 |wc -l 107 without locale crap nsz@tpx:~$ export LC_ALL=C nsz@tpx:~$ strace python -c '' 2>&1 |wc -l 652 nsz@tpx:~$ strace perl -e '' 2>&1 |wc -l 99 nsz@tpx:~$ strace sh -c '' 2>&1 |wc -l 42 nsz@tpx:~$ strace bash -c '' 2>&1 |wc -l 101 nsz@tpx:~$ strace awk '' 2>&1 |wc -l 55 nsz@tpx:~$ strace mawk '' 2>&1 |wc -l 39 nsz@tpx:~$ strace lua -e '' 2>&1 |wc -l 67 nsz@tpx:~$ strace bc </dev/null 2>&1 |wc -l 60 nsz@tpx:~$ strace sed '' </dev/null 2>&1 |wc -l 35 nsz@tpx:~$ strace cat </dev/null 2>&1 |wc -l 36 nsz@tpx:~$ strace dd </dev/null 2>&1 |wc -l 74 nsz@tpx:~$ strace grep . </dev/null 2>&1 |wc -l 40 nsz@tpx:~$ strace /bin/true 2>&1 |wc -l 32 > Anyway my idea for a side project to benefit the whole Linux community > (not just musl users) is to document and analyze the causes of startup > bloat/syscall bloat (which leads to bad performance, especially in > "script"-type programs that run many times) and memory bloat in some > core components that are used on most modern Linux-based systems: > > - Python > - Perl > - Glib > - GTK > - ncurses > - etc. > > and then sending reports (and possible fix ideas) to the upstream > maintainers. This is not something I plan to do myself (I'd rather > spend time improving musl) but I want to propose it as a way for > members of the community to contribute to positive anti-bloat work > that benefits a large number of users, as opposed to the alternative > of just boycotting software that "sucks" for bloat reasons. :-) nice imho these issues are well known, ppl just don't care enough i remember when the first google summer of codes was announced one of the first python project idea was to do something about the number of syscalls at startup http://wiki.python.org/moin/CodingProjectIdeas/PythonCore it did not improve much since then, even in python3 ppl are complaining about the syscalls but devs say it does not matter http://mail.python.org/pipermail/python-dev/2011-January/107771.html http://mail.python.org/pipermail/python-dev/2011-January/107789.html
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.