freebsd-dev/usr.bin
Tim Kientzle 231a973125 Speed up hardlink detection by using a self-sizing hash
table rather than the old linear list search.

On my "hardlink detection torture test", this reduced
user time from 4700 seconds down to 4.2 seconds
and wallclock time from 1:24:48 down to 1:08.
(Yes, that's over one THOUSAND times reduction in user time. ;-)
In the worst case, the new code doubles peak memory usage,
though it could actually reduce memory usage in many cases.

MFC after: 1 week
PR: misc/42167, bin/51151
2004-04-30 18:17:51 +00:00
..
alias Mark bits that do not require an object directory as such. 2003-04-01 12:37:54 +00:00
apply Revert previous commit, from Bruce: 2003-06-09 19:21:35 +00:00
asa
at Explain the format of the at.allow and at.deny files in detail. 2003-03-26 02:38:18 +00:00
atm Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
awk Use 2003-06-06 13:46:55 +00:00
banner
basename
biff
bluetooth Use uint instead of u_int 2004-04-09 23:26:16 +00:00
brandelf Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
bzip2 /rescue/b{,un}zip exists, so build this dynamically now. 2003-11-17 05:19:37 +00:00
bzip2recover Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
c89
c99 Update URL of GCC status page to GCC 3.3 2004-03-04 20:29:27 +00:00
calendar Add my birthday. 2004-04-18 01:05:55 +00:00
cap_mkdb
catman Add (unsigned char) cast to ctype macros 2003-06-10 02:18:00 +00:00
chat Rename logf --> chat_logf to avoid naming conflicts 2003-10-31 06:22:03 +00:00
checknr Close files after opening them to avoiding leaking descriptors and memory. 2003-06-01 06:15:30 +00:00
chkey Put chkey(1), newkey(8), and keyserv(8) into the crypto distribution. 2004-01-18 09:29:47 +00:00
chpass Typo fix. 2004-03-03 09:15:07 +00:00
cksum - For variables holding offset values, use off_t rather than 2003-03-13 23:32:28 +00:00
cmp phk added the -x option in May 2000, but only for regular files; for 2003-06-19 07:24:26 +00:00
col
colcrt Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
colldef Get rid of duplicates. 2003-09-14 13:41:59 +00:00
colrm
column
comm
compile_et
compress Don't truncate the output file before making sure that we can 2003-06-14 13:41:31 +00:00
csplit Use fseeko() to properly support large files. 2004-03-22 11:15:03 +00:00
ctags The .Xr files 2003-06-08 13:43:56 +00:00
cut Duplicate "from". 2003-05-03 15:55:23 +00:00
dig
dirname
dnskeygen
dnsquery
du Speed up hardlink detection by using a self-sizing hash 2004-04-30 18:17:51 +00:00
ee o Fix identation. 2003-06-30 11:51:21 +00:00
elf2aout Back out the totally unapproved backout of my commits. 2003-03-29 03:03:42 +00:00
elfdump Elf_Phdr.p_type 7 is "PT_TLS". 2004-03-02 14:06:27 +00:00
enigma Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
env Fix grammar bogon. 2004-02-29 12:52:21 +00:00
expand mdoc(7) police: markup polishing. 2002-11-26 10:57:57 +00:00
false
fetch Workaround for servers that ignore byte ranges when using chunked 2004-04-06 12:24:26 +00:00
file Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
file2c
find Clarify and correct some compatibility notes. 2004-04-21 00:42:55 +00:00
finger Add multiple inclusion guards. Mostly this is for extern.h, which was 2004-03-14 06:43:34 +00:00
fmt
fold
from
fstat Correct the description of the -N option. 2004-03-26 10:48:35 +00:00
fsync
ftp Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
gcore Fix some WARNS: 2004-02-15 22:48:25 +00:00
gencat Check NULL pointer to avoid SIGSEGV 2002-12-24 07:40:10 +00:00
getconf mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
getopt english(4) police. 2002-12-27 12:15:40 +00:00
gprof Remove MD bits for unsupported architectures. 2003-10-30 12:21:31 +00:00
head
hesinfo
hexdump Capitalize ASCII code names. 2002-12-05 08:50:00 +00:00
host
id
indent Support C-style comments in profile. 2004-03-21 04:47:54 +00:00
ipcrm Wrap long line. Use .Ar instead of .Nm where appropriate. 2003-02-05 14:15:02 +00:00
ipcs Add -u option to ipcs(1) and document it in ipcs.1 2004-03-24 04:01:43 +00:00
join mdoc(7) police: nit. 2002-11-26 11:25:04 +00:00
jot Fix jot so that 'jot -r -w %d 1 1 4' never prints 4. Previously, it 2003-08-01 16:23:24 +00:00
kdump Respect decimal flag when dumping USER type records. 2004-03-25 12:33:55 +00:00
keylogin
keylogout Removed unnecessary dependencies on librpcsvc. 2004-02-04 11:59:08 +00:00
killall Add a cross-reference to pkill(1), now that pkill is hooked up to the build. 2004-03-27 23:45:33 +00:00
ktrace Do not start err(3) strings with uppercase nor dot terminate them. 2003-02-05 14:25:43 +00:00
ktrdump Remove an unused variable. 2004-02-15 22:12:32 +00:00
lam
last Include timeconv.h for _int_to_time and _time_to_int. 2004-02-15 21:52:59 +00:00
lastcomm Don't try to fseek before the beginning of the file; POSIX requires that 2003-01-27 18:16:32 +00:00
ldd Fix a few WARNS: 2004-02-15 22:01:23 +00:00
leave Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
less Restore old value of LESSKEYFILE_SYS. 2004-04-17 07:48:21 +00:00
lessecho
lesskey
lex Replace <iostream.h> with <iostream> to remove annoying warning 2004-03-11 10:43:35 +00:00
limits Uniformly refer to a file system as "file system". 2002-12-12 17:26:04 +00:00
locale Back out LANG printing changes. POSIX is unclear in this place, but 2004-02-02 16:14:02 +00:00
locate The .Xr utility 2003-06-08 13:45:37 +00:00
lock Two fixes here: 2004-01-22 04:24:15 +00:00
lockf
logger Clarify the describtion of the -A switch 2003-05-21 15:00:47 +00:00
login Fixed style bugs in previous commit (.ifndef instead of .if defined(), 2004-02-29 06:39:11 +00:00
logins Fix markup. 2004-03-06 23:36:41 +00:00
logname
look Introduce options definition the standard way. 2003-06-09 19:32:02 +00:00
lorder Give the -o option before any filename operands when invoking the sort 2003-06-01 22:37:38 +00:00
lsvfs Uniformly refer to a file system as "file system". 2002-12-12 17:26:04 +00:00
m4 Use .St -susv2 rather than "The Single UNIX specification". 2003-12-10 10:52:48 +00:00
mail These aren't all binary options. 2004-03-09 01:20:24 +00:00
make Treat kevent(2) returning an error EINTR as the non-error it is. 2004-04-20 22:04:12 +00:00
makewhatis Install /usr/libexec/makewhatis.local and /usr/libexec/catman.local. 2002-11-18 10:11:22 +00:00
mesg Introduce options definition the standard way. 2003-06-09 19:32:02 +00:00
minigzip Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
ministat Added missing DPADD. 2004-02-05 22:01:28 +00:00
mkdep english(4) police. 2002-12-27 12:15:40 +00:00
mkfifo
mklocale Fix section number in cross reference. 2004-01-23 20:29:03 +00:00
mkstr Fixed a misspelling of 0 as NULL. 2004-03-14 05:51:20 +00:00
mktemp
msgs Fixed misspellings of '\0' as NULL. 2004-03-11 10:12:05 +00:00
mt Backout previous commit. It seems this comment applied to something 2004-04-09 17:30:26 +00:00
ncal Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
ncplist
ncplogin
netstat Add the bad reset statistic (corresponds to tcp_input.c rev 1.235) 2004-04-26 02:57:33 +00:00
newgrp Use (char *)NULL to terminated to argument list for execl(). 2003-10-30 15:14:34 +00:00
newkey Put chkey(1), newkey(8), and keyserv(8) into the crypto distribution. 2004-01-18 09:29:47 +00:00
nfsstat
nice english(4) police. 2002-12-27 12:15:40 +00:00
nl Tidy up usage message. 2003-08-17 10:33:54 +00:00
nohup Make GCC 3.3 happy with rcsid[], sccs[], and copyright[]. 2003-05-03 19:44:46 +00:00
objformat mdoc(7) police: markup and spelling. 2002-11-26 17:34:25 +00:00
opieinfo
opiekey
opiepasswd
pagesize
passwd While I really liked the error message one received from `passwd' 2003-04-18 21:27:09 +00:00
paste Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
pathchk Unbreak support for systems that have no limit on pathname length. 2002-12-15 00:40:47 +00:00
pkill Use KERN_PROC_PROC instead of KERN_PROC_ALL on the call to kvm_getprocs(), 2004-03-30 15:10:50 +00:00
pr Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/ 2002-12-30 21:18:15 +00:00
printenv Split the env(1) manpage off from printenv(1); there is not much point 2003-06-01 06:29:47 +00:00
printf Make it possible for the %[eEfgG] formats to not result in an error 2004-03-07 22:22:13 +00:00
quota Remove redundant declarations. 2003-08-05 06:50:28 +00:00
renice The usage string: renice [priority | [-n incr]] ... assumed that the part 2003-02-26 20:27:24 +00:00
rev
rlogin Use the POSIX tty interface instead of the old interface. This makes 2003-09-28 08:54:56 +00:00
rpcgen Fix broken -a functionality. 2003-06-19 09:19:51 +00:00
rpcinfo Fixed a misspelling of '\0' as NULL. 2004-03-11 10:22:25 +00:00
rs Add section number to .Xr 2003-06-08 13:58:08 +00:00
rsh Remove duplicate #include. Do not \n terminate errx() arg. 2003-09-07 15:30:42 +00:00
rup More xdrproc_t warnings. 2003-10-26 04:57:32 +00:00
ruptime Forgot to update the date field; from David Magda <dmagda@magda.ca>. 2003-03-01 23:43:53 +00:00
rusers More xdrproc_t warnings. 2003-10-26 04:57:32 +00:00
rwall Removed unnecessary dependencies on librpcsvc. 2004-02-04 11:59:08 +00:00
rwho
script Attempt #2 to fix script(1) if the standard input is closed: If we 2004-02-15 17:30:13 +00:00
sed Avoid using .Nm at the start of the sentence. 2004-01-04 15:33:06 +00:00
shar
showmount More xdrproc_t issues. 2003-10-26 04:58:44 +00:00
smbutil
sockstat make sockstat not print wierd addresses on not connected unix domain sockets 2003-07-19 06:23:56 +00:00
split
stat Resolve conflicts 2003-10-06 01:55:17 +00:00
su Add FBSDID. Do not dot terminate errx(3) string. 2004-04-04 18:56:53 +00:00
systat Include <sys/proc.h> for the definition of PS_INMEM instead of 2004-04-14 09:01:56 +00:00
tabs mdoc(7) police: markup polishing. 2002-11-26 17:33:37 +00:00
tail Removed check of st_rdev changing in the -F support. st_rdev for regular 2003-08-14 11:02:03 +00:00
talk Handle window resizing better. 2004-04-19 21:37:29 +00:00
tar -U is now implemented. (It's been recognized by bsdtar for a while; 2004-04-29 05:22:13 +00:00
tcopy Change /dev/rsa0 and /dev/rwt0 references to sa0 and wt0. 2003-09-05 15:28:09 +00:00
tee
telnet Make sure that a "make release" (more accurately the bit that makes 2003-07-24 17:19:15 +00:00
tftp Fix BSS buffer overflow in makeargv(). 2003-10-12 00:27:55 +00:00
time Uses wait4() instead of wait3() when waiting for a child process to exit. 2003-10-17 07:53:30 +00:00
tip Fixed misspellings of 0 as NULL. Fixed some nearby style bugs. 2004-03-14 05:55:16 +00:00
top Changes to allow top to decide whether or not to show multiple threads per 2003-07-17 23:56:40 +00:00
touch
tput command -> utility. Add section number to .Xr 2003-06-08 14:38:02 +00:00
tr Back out [:upper:] and [:lower:] classes sorting, it is not required 2003-08-05 07:59:46 +00:00
true
truncate
truss Add support for decoding Timespec, Timeval, Itimerval, Pollfd, 2004-03-23 12:37:02 +00:00
tset Add section number to .Xr 2003-06-08 13:58:08 +00:00
tsort Removed unused macro definition 2003-09-04 20:05:46 +00:00
tty
uac Remove (another) now redundant and now conflicting declaration of 2004-01-12 04:05:23 +00:00
ul Add section number to .Xr 2003-06-08 13:58:08 +00:00
uname Make the sysctlbyname stuff look like the 2-level MIB stuff. This 2003-07-01 20:15:28 +00:00
unexpand Fix off-by-one error processing the line after an empty line when the 2002-10-04 16:45:25 +00:00
unifdef Improve expression evaluation debugging output, tidy up the handling of 2003-07-01 15:30:43 +00:00
uniq Mention the environment variables that affect the execution of uniq. 2003-04-12 04:17:14 +00:00
units Add r_earth, r_moon, r_sun, representing the terrestrial, lunar, and 2003-11-05 22:29:48 +00:00
unvis
usbhidaction Misc fixes brought to light by WARNS=6: 2004-03-09 11:35:43 +00:00
usbhidctl Correct reference to a non existant man page. 2004-01-04 16:34:16 +00:00
users
uudecode Make GCC 3.3 happy with rcsid[], sccs[], and copyright[]. 2003-05-03 19:44:46 +00:00
uuencode Userland signed char fixes for PPC build. Problems were using a char 2004-01-22 07:23:36 +00:00
uuidgen The uuidgen(1) program is WARNS=6 clean, so flag it as such. 2003-12-07 21:34:56 +00:00
vacation Remove MAINTAINER= lines from individual Makefiles in favor of the 2003-07-07 03:54:04 +00:00
vgrind Fix warning about cgetent() argument. 2003-10-26 05:03:11 +00:00
vi Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
vis
vmstat Print fork statistics with %u as they are unsigned quantities. 2004-04-23 13:10:29 +00:00
w Include <sys/proc.h> instead of depending on namespace pollution in 2004-04-14 09:34:17 +00:00
wall Remove "sleeper" nonsense. 2003-02-21 08:46:44 +00:00
wc Improve robustness of multibyte character handling (-m option), and 2004-04-09 11:17:29 +00:00
what mdoc(7) police: markup polishing. 2002-11-26 17:33:37 +00:00
whereis Adjust max WARNs for sparc64. 2002-12-30 09:48:40 +00:00
which
who Fix a warning that showed up on 64 bit systems. It was actually a real 2003-10-26 05:05:48 +00:00
whois Back out .SU workaround - people at whois-servers.net set up 2003-06-29 23:56:31 +00:00
window Add FBSDID. Use %ld to printf(3) a long (even if the number is small). 2004-04-04 19:11:01 +00:00
write
xargs - Use _PATH_TTY and _PATH_DEVNULL macros. 2003-06-13 17:05:41 +00:00
xinstall Improved incorrect usage diagnostics. 2004-03-17 11:06:40 +00:00
xlint style.Makefile(5): 2004-02-23 20:25:27 +00:00
xstr Introduce options definition the standard way. Do not uppercase first 2003-06-09 19:35:56 +00:00
yacc Use getopt instead of hand-rolled argument parsing. Usage remains 2004-03-05 01:52:09 +00:00
yes #include <err.h> to make yes warns clean again. 2002-11-09 21:00:39 +00:00
ypcat Stop gcc warnings 2003-10-26 05:28:01 +00:00
ypmatch Stop gcc warnings 2003-10-26 05:28:01 +00:00
ypwhich Be consistant while reporting error conditions. 2004-04-04 19:17:38 +00:00
Makefile Connect bsdtar to the build. 2004-04-06 17:04:38 +00:00
Makefile.inc