mcdb - fast, reliable, simple code to create and read constant databases
C Perl Makefile Shell XS Ruby Python
Latest commit 4bbcf52 Jan 25, 2016 @jitheshtr jitheshtr committed with improve mcdb_findtagnext() performance
(thx @jitheshtr for patch; squashed and commit message by @gstrauss)

remove __builtin_prefetch() in mcdb_findtagnext()
remove __builtin_expect() in mcdb_findtagnext()

Removing prefetch improves performance by reducing use of limited
memory bandwidth, especially upon mcdb key lookup misses.  Removing
the branch prediction hint, which was tuned for mcdb key lookup hits,
allows the branch predictor to dynamically predict the branch, which
can be beneficial for use cases such as when majority of mcdb key
lookups are misses.

Performance tests on laptops should note CPU power management settings.
On Linux:
To display CPU power management settings
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
To change CPU power management settings (until next reboot)
$ echo performance | \
  tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

github: closes #8
Permalink
Failed to load latest commit information.
contrib
nss
plasma @ 65181d7 plasma submodule update Oct 4, 2016
t
.gitattributes
.gitignore
.gitmodules
CHANGELOG
COPYING prep for public release Aug 26, 2011
FAQ
INSTALL
Makefile Using `install -p -m 0444`. May 21, 2015
NOTES
README create mcdb.spec; modify Makefile for lib, lib64 Oct 29, 2011
THANKS mcdb v0.06 Nov 18, 2012
mcdb.c
mcdb.h
mcdb.spec
mcdb_error.c porting from GNU Linux/glibc to other platforms Nov 6, 2011
mcdb_error.h
mcdb_make.c
mcdb_make.h
mcdb_makefmt.c prepend function attributes for portability May 21, 2015
mcdb_makefmt.h
mcdb_makefn.c
mcdb_makefn.h
mcdbctl.c
nointr.c address conditions identified by Coverity Dec 6, 2013
nointr.h prepend function attributes for portability May 21, 2015
uint32.c
uint32.h prepend function attributes for portability May 21, 2015

README

mcdb - fast, reliable, simple code to create and read constant databases

README  - summary (this file)
INSTALL - quick installation 
COPYING - copyright/license
NOTES   - technical details (if interested)

t/PERFORMANCE - performance notes

mcdb (mmap constant database) is originally based on the cdb package, a:
"fast, reliable, simple package for creating and reading constant databases."
mcdb is almost 33% faster, provides support for use in threaded programs, and
supports databases larger than 4 GB.

nss_mcdb is an nss implementation of standard authentication and netdb files
built as mcdb databases, which are faster than using nscd.  

https://github.com/gstrauss/mcdb/ provides the latest information about mcdb.
http://cr.yp.to/cdb.html provides information about cdb, on which mcdb is based.