On Fri, Dec 01, 2006 at 10:13:55AM +0100, Bernardo Innocenti wrote:
While I welcome reducing the number of dupe packages, I'm worried by the impact of this change on the size and performance of many core programs.
It shouldn't be that bad.
libncurses is much bigger than libtermcap, and also has oddly large .bss and .data sections:
bender:/[1/0]# size /lib64/libncurses.so.5 /lib64/libtermcap.so.2 text data bss dec hex filename 319006 56608 3592 379206 5c946 /lib64/libncurses.so.5 10483 788 112 11383 2c77 /lib64/libtermcap.so.2
this is going to impact very negatively on the RSS of several critical programs such as bash and python.
$ ps -o rss,comm RSS COMMAND 1428 bash_termcap 1480 bash_curses
Not sure it proves anything.
I'm also worried that the overall time required spent for a fork may increase considerably.
Note that termcap has everything in one big file. A simple program doing just tgetent() and tgetstr() is significantly faster with ncurses.
$ time ( a=0;while [ $a -lt 1000 ]; do a=$[$a + 1] && ./testtermcap < /dev/null &> /dev/null; done )
real 0m2.078s user 0m1.137s sys 0m0.936s
$ time ( a=0;while [ $a -lt 1000 ]; do a=$[$a + 1] && ./testncurses < /dev/null &> /dev/null; done )
real 0m1.464s user 0m0.496s sys 0m0.962s