From owner-cvs-all@FreeBSD.ORG Fri Apr 30 11:17:51 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DDBE316A4CF; Fri, 30 Apr 2004 11:17:51 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAAFA43D5F; Fri, 30 Apr 2004 11:17:51 -0700 (PDT) (envelope-from kientzle@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3UIHpGe005220; Fri, 30 Apr 2004 11:17:51 -0700 (PDT) (envelope-from kientzle@repoman.freebsd.org) Received: (from kientzle@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3UIHprY005219; Fri, 30 Apr 2004 11:17:51 -0700 (PDT) (envelope-from kientzle) Message-Id: <200404301817.i3UIHprY005219@repoman.freebsd.org> From: Tim Kientzle Date: Fri, 30 Apr 2004 11:17:51 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/usr.bin/du du.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Apr 2004 18:17:52 -0000 kientzle 2004/04/30 11:17:51 PDT FreeBSD src repository Modified files: usr.bin/du du.c Log: 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 Revision Changes Path 1.30 +141 -32 src/usr.bin/du/du.c