gperf
meow_hash
gperf | meow_hash | |
---|---|---|
7 | 13 | |
2 | 1,684 | |
- | - | |
4.7 | 0.0 | |
about 2 months ago | almost 2 years ago | |
C++ | C++ | |
GNU General Public License v3.0 only | zlib License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gperf
-
What is an example of non-linear static data structure and what is an accurate breakdown of ds types?
Can create a ton of theoretical examples, but even in practice we use such data structures. An example that first came to mind is gperf which generates static hash table data structure for predefined set of strings (So you cannot add or remove any elements).
-
Hashtables
gperf is a generator for perfect hash functions. Its documentation has a bibliography that might contain helpful links.
- Quickly checking that a string belongs to a small set
-
Generating the code for an efficient conditional tree to select from a list of strings
I think gperf is what you need. Alternatively cmph.
-
How to emulate map literals in C?
Adding to this, there are tools such as gperf which are specifically designed for this. Apparently gperf works well for smaller number of keys but not for really high n (> 100,000 ish) and mph apparently works better for larger n.
- On implementing Bloom Filters in C
meow_hash
-
Use fast data algorithms (2021)
I'm late on the reply but I was using xxhash for something similar, but found that Meow hash was faster for me. Feel free to benchmark, since I'm sure it could vary depending on CPU architecture.
- Meow Hash (2018)
- Meow Hash
-
Cryptanalysis of Meow Hash
for everyone who doesn't think highly of Casey Muratori (or at least the way he conducts himself online), the author of Meow Hash, took the criticism quite graciously:
https://twitter.com/cmuratori/status/1417546500083568641
https://github.com/cmuratori/meow_hash/issues/80
- Full 128-bit collision between two files in Meow Hash
-
Reading a file in parallel
Is a standardized hashing algorithm required? SHA256 takes several CPU cycle per byte, but there are several hashing algorithm utilizing AES-NI that gives them 15-16 bytes per cycles, which translates to tens of gigabytes per second on modern CPU. At least one of them has been ported to .NET Core, and from what I see properly calls AES primitives.
-
76% Faster CPython
MeowHash is the fastest non-cryptographic hash available online, and if it were used in CPython, which performs a hash for every fundamental operation in the language, then Python would be much faster.
-
New Bare Hash Map: 2X-3X Speedup over SOTA
Meow hash claims 3-4x faster hashing over this, still passes smhasher, and is a few years old. https://mollyrocket.com/meowhash
-
A Hashmap for the C Programming Language
Have you seen the meow hash implementation? Would that be suitable for this ?
What are some alternatives?
parallel-hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers.
xxHash - Extremely fast non-cryptographic hash algorithm
mph - (Fork) Minimal Perfect Hash
BLAKE3 - the official Rust and C implementations of the BLAKE3 cryptographic hash function
robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
hashbrown - Rust port of Google's SwissTable hash map
encoding - Go package containing implementations of efficient encoding, decoding, and validation APIs.
wyhash - The FASTEST QUALITY hash function, random number generators (PRNG) and hash map.
sourcery - 🧙 A simple but very fast recursive source code spell checker made in C
meow_hash.NET - Port of https://github.com/cmuratori/meow_hash to .NET Core
STC - A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.
pHash - pHash - the open source perceptual hash library