Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 08 Dec 2014 08:51:37 -0800
From:      Kirk McKusick <mckusick@mckusick.com>
To:        Garrett Cooper <yaneurabeya@gmail.com>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>, Erik Trulsson <Erik.Trulsson.1013@student.uu.se>, dickey@his.com, jkh@freebsd.org
Subject:   Re: Reason for reordering /usr/share/misc/termcap.src for /usr/share/misc/termcap ? 
Message-ID:  <201412081651.sB8GpbpO088722@chez.mckusick.com>
In-Reply-To: <20141208131340.16934twbkxmadd6c@webmail.uu.se> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Mon, 08 Dec 2014 13:13:40 +0100
> From: Erik Trulsson <Erik.Trulsson.1013@student.uu.se>
> To: Garrett Cooper <yaneurabeya@gmail.com>
> Cc: FreeBSD Hackers <freebsd-hackers@freebsd.org>,
>         Kirk McKusick <mckusick@mckusick.com>, jkh@freebsd.org,
>         dickey@his.com
> Subject: Re: Reason for reordering /usr/share/misc/termcap.src for /usr/share/misc/termcap ?
> X-ASK-Info: Message Queued (2014/12/08 04:13:49)
> X-ASK-Info: Confirmed by User (2014/12/08 08:34:35)
> 
> Quoting Garrett Cooper <yaneurabeya@gmail.com>:
> 
>> Hi all,
>> 	I'm trying to resolve an issue where usr.bin/vi is needed to  
>> preprocess share/termcap every time make buildworld is invoked on  
>> FreeBSD. The termcap file reordering seems to have been done since  
>> the BSD 4.4 Lite sources were imported into FreeBSD:  
>> https://svnweb.freebsd.org/base/projects/building-blocks/share/termcap/Makefile?view=markup#l15,
>> https://svnweb.freebsd.org/base?view=revision&revision=1638.
>> I don't have history behind why this should be done (it's unfortunate
>> because it appears to mangle the comment <-> entry mappings, and
>> ultimately this gets put into termcap.db), and I was hoping that
>> someone with additional history could fill in why this is being done.
>> Thank you!
> 
> It looks like it is done to put the most common (at the time it was  
> written) terminal types early in the reordered termcap file.  This  
> presumably so that programs reading termcap would be more likely to  
> find the entry they wanted as quickly as possible.
> 
> That would have been useful when termcap was just a plain text file,  
> but if you are using termcap.db to look up terminal capabilities then  
> there doesn't seem to be much point to doing such reordering beforehand.

I believe Erik Trulsson's answer is correct. Termcap had grown very
large and on sub-1-MIP computers took a noticable delay to read on
every startup of programs using it. So, it was reordered to reduce
the startup time on common terminals. As Erik points out this optimization
is no longer necessary as termcap is now placed in a database. Not to
mention that there are far fewer entries in it today than there were
at the peak of its existence.

	Kirk McKusick



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412081651.sB8GpbpO088722>