It started with a simple thought: four bytes in a hash table bucket look just like an integer. Luckily, this one idea led to a deep dive into bit-twiddling and a 2x performance boost.| MALTSEV.SPACE
I've just set up my first hash table after a bit of studying; it's time to write about it! Docendo discimus ~| Randy Gaul's Game Programming Blog
A tags file is a classic UNIX format for storing an index of where symbols are defined in a source tree, for ease of finding a symbol definition from within an editor. Both vim and emacs have native support for loading TAGS files and using them to jump to symbol definitions. When performing tags lookups, vim deduplicates results, to suppress identical matches (perhaps in case you’ve concatenated multiple tags files? I’ll admit to not fully understanding the intent here). However, historic...| Accidentally Quadratic
It was recently discovered that some surprising operations on Rust’s standard hash table types could go quadratic. Perhaps the simplest illustration is this snippet from a comment, here simplified even further: use std::collections::hash_set::HashSet; fn main() { println!("populating..."); let mut one = HashSet::new(); for i in 1..5000000 { one.insert(i); } println!("cloning..."); let mut two = HashSet::new(); for v in one { two.insert(v); } } In this example, the first loop (populating one...| Accidentally Quadratic