BSD Ports

devel/cmph 2.0 NetBSD

C Minimal Perfect Hashing Library

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
License
gnu-lgpl-v2 OR mpl-1.1
Categories
devel
Package size
73.5 KiB, 486.4 KiB installed

Description

The CMPH Library encapsulates the newest and more efficient algorithms in an easy-to-use, production-quality, fast API. The library was designed to work with big entries that cannot fit in the main memory. It has been used successfully for constructing minimal perfect hash functions for sets with more than 100 million of keys, and we intend to expand this number to the order of billion of keys. Although there is a lack of similar libraries, we can point out some of the distinguishable features of the CMPH Library:

  • Fast.
  • Space-efficient with main memory usage carefully documented.
  • The best modern algorithms are available (or at least scheduled for implementation :-)).
  • Works with in-disk key sets through of using the adapter pattern.
  • Serialization of hash functions.
  • Portable C code (currently works on GNU/Linux and WIN32 and is reported to work in OpenBSD and Solaris).
  • Object oriented implementation.
  • Easily extensible.
  • Well encapsulated API aiming binary compatibility through releases.
  • Free Software.

In the other systems

SystemPortVersion
NetBSDdevel/cmph2.0
FreeBSDdevel/cmph2.0.2
DragonFlydevel/cmph2.0_2
HardenedBSDdevel/cmph2.0.2
GhostBSDdevel/cmph2.0.2

Install

Binary package:

pkgin install cmph

From pkgsrc:

cd /usr/pkgsrc/devel/cmph && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_642.0
NetBSD 10.1 aarch642.0
SmartOS / illumos x86_642.0
macOS 15 arm642.0

Dependencies

No port depends on this one.