Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 May 2017 18:05:30 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 219124] /var/db/services.db is extremely large for what it does
Message-ID:  <bug-219124-8-r1yTMYMmGW@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-219124-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-219124-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219124

--- Comment #4 from Sean Bruno <sbruno@FreeBSD.org> ---
I'm guessing that this is an initialization problem.  The hash is being setup
to handle way more elements than is really needed in here.

% wc -l /etc/services 
    2495 /etc/services


HASHINFO hinfo = {
        .bsize = 256,
        .ffactor = 4,
        .nelem = 32768,
        .cachesize = 1024,
        .hash = NULL,
        .lorder = 0
};



If I change the HASHINFO to be slightly less over engineered (and less future
proof), I can get the *empty* services file down to 260k, but that's not really
a huge improvement for a basically empty file.  Should it be that big?  I
didn't really think I was going to have to go and learn berkley DB this week. 
:-)


Index: services_mkdb.c
===================================================================
--- services_mkdb.c     (revision 318297)
+++ services_mkdb.c     (working copy)
@@ -68,10 +68,10 @@
 static void    usage(void);

 HASHINFO hinfo = {
-       .bsize = 256,
-       .ffactor = 4,
-       .nelem = 32768,
-       .cachesize = 1024,
+       .bsize = 48,
+       .ffactor = 1,
+       .nelem = 4096,
+       .cachesize = 256,
        .hash = NULL,
        .lorder = 0
 };


-rw-r--r--  1 sbruno  sbruno  262720 May 15 12:04 services.db

-- 
You are receiving this mail because:
You are the assignee for the bug.


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-219124-8-r1yTMYMmGW>