Switching to ncurses

Miroslav Lichvar mlichvar at redhat.com
Fri Dec 1 10:05:29 UTC 2006


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

-- 
Miroslav Lichvar




More information about the fedora-devel-list mailing list