This is your work, valued
Associate Professor of Computer Science. Focus on data structures, data compression, and code optimization.
data_compression_course. π π» A crash course on Data Compression.
β 328pthash. βοΈ PTHash is a fast and compact minimal perfect hash function.
β 264tongrams. A C++ library providing fast language model queries in compressed space.
β 132sshash. π 𧬠SSHash is a compressed, associative, exact, and weighted dictionary for k-mers.
β 107fulgor. β‘οΈ π§¬ Fulgor is a fast and space-efficient colored de Bruijn graph index.
β 60autocomplete. Efficient and effective query auto-completion in C++.
β 56lphash. Fast and compact locality-preserving minimal perfect hashing for k-mer sets.
β 44mm_file. A self-contained, header-only, implementation of memory-mapped files in C++ for fast integration into larger projects.
β 39mutable_rank_select. A SIMD-based C++ library providing rank/select queries over mutable bitmaps.
β 36interpolative_coding. A flexible and efficient C++ implementation of the Binary Interpolative Coding algorithm.
β 31cmd_line_parser. Command line parser for C++17.
β 29psds. Efficient Prefix-Sum data structures in C++.
β 28dint. Dictionary-based compression for inverted indexes.
β 242i_bench. A C++ library to benchmark inverted indexes.
β 22s_indexes. Universe-sliced indexes in C++.
β 18opt_vbyte. Optimal partitioning of Variable-Byte codes for better compression and fast decoding.
β 17tongrams_estimation. A C++ library implementing fast language models estimation using the 1-Sort algorithm.
β 16clustered_elias_fano_indexes. Clustered Elias-Fano inverted indexes.
β 15essentials. βοΈπ οΈ Essential C++ utilities.
β 14kmer_sets_benchmark. Benchmark data structures for kmer sets.
β 12sshash-lite. K-mer membership queries in compressed space.
β 11rdf_indexes. Fast and Compressed RDF Indexes in C++.
β 11minimizers. A collection of minimizer-based sampling algorithms.
β 8bits. π Succinct utilities to handle bits.
β 7toonify. Toonify Images for Painting in C++.
β 6bench_hash_functions. Speed test of hash functions in C++.
β 6entropy_coding. Some entropy coding algorithms in C++.
β 3kmeans. A small, header-only, parallel implementation of kmeans clustering for arbitrary-long byte vectors.
β 2jermp.github.io. My static personal web-site.
β 2essentials-cmake-test. Example project showing how to integrate essentials with CMake.
β 1cdbg-builder. Colored compacted De Bruijn graph builder for Fulgor indexes
β 1Recomb2026AnnotatedBib. Annotated bibilography to match the keynote talk at RECOMB 2026
β 5sshash. π 𧬠SSHash is a compressed, associative, exact, and weighted dictionary for k-mers.
β 107CppCoreGuidelines. The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
β 45krshash. Compressed, associative, and exact hash table for k-mers
β 2fph-table. Flash Perfect Hash Table: an implementation of a dynamic perfect hash table, extremely fast for lookup
β 55sequitur. Automatically exported from code.google.com/p/sequitur
β 53tuna. kmer-counter based on kache-hash
β 16tiered-vec. 3-level tiered vec of "Fast Dynamic Arrays" paper
β 7tiered-vector. Highly optimized implementation of tiered vectors, a data structure for maintaining a sequence of n elements supporting access in time O(1) and insertion and deletion in time O(n^Ξ΅) for Ξ΅ > 0 while using o(n) extra space.
β 55sshash-rs. A Rust implementation of SSHash
β 19piscem-rs. Rust
β 6kache-hash. Dynamic, concurrent, and cache-efficient hash table for streaming k-mer operations
β 7data-structures-in-practice-public. A hardware-aware guide to data structures for system software engineers.
β 1.4kPhylign-Fulgor. Rapid k-mer matching/alignment against AllTheBacteria (r0.2, n=1.9M) on laptops within minutes/hours
β 3mim. A small, auxiliary index to massively improve parallel fastq parsing
β 32MinerU. Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows.
β 76kcpp-sort. Sorting algorithms & related tools for C++
β 715johnysswlab. C++
β 147openzl. A novel data compression framework
β 3.2kfastbloom. The fastest Bloom filter in Rust. No accuracy compromises. Full concurrency support and compatible with any hasher.
β 353abseil-cpp. Abseil Common Libraries (C++)
β 18kiceberghashtable. C
β 67binfuse. c++ library for binary fuse filters, including a sharded filter
β 99cp-algorithms. Algorithm and data structure articles for https://cp-algorithms.com (based on http://e-maxx.ru)
β 11kmarker. Convert PDF to markdown + JSON quickly with high accuracy
β 38ku-index-rs. Implementation of the u-index
β 12xsra. An efficient CLI to extract sequences from the SRA
β 124fmsi. FMSI is a highly memory efficient exact k-mer set index based on masked superstrings and the masked Burrows-Wheeler transform
β 25hashify. Perfect hashing for an imperfect world
β 97sdsl-lite. Succinct Data Structure Library 3.0
β 107MPHF-Experiments. Comparison of different MPHF algorithms
β 11radix_sort. Radix sort. A high performence Cross-platform (parallel) STL-like LSD radix sort algorithm by C++20, 2.5-14.3x faster than std::sort, support user-defined struct.
β 33LoganSearch. A k-mer search engine for all Sequence Read Archive public accessions
β 44WebGraph. Rust port and combination of the WebGraph and Zuckerli graph compression frameworks
β 4GreedyMini. Jupyter Notebook
β 9libradicl. Library for writing Reduced Alignment Data (RAD) format files.
β 2Deep-Shallow-Suffix-Sorting. An ancient lightweight Suffix Array and BWT construction algorithm
β 4ropebwt3. BWT construction and search
β 129perfect-bioinformatic-tools. What should perfect bioinformatic tools be like?
β 159gsearch. Approximate nearest neighbour search for microbial genomes based on hash metric
β 66cute-nucleotides. Cute tricks for SIMD vectorized binary encoding and decoding of nucleotides, in Rust.
β 129sshash-rs. Rust rewrite of SSHash (unfinished & unmaintained)
β 9fulgor. β‘οΈ π§¬ Fulgor is a fast and space-efficient colored de Bruijn graph index.
β 60Metabuli. Metabuli: specific and sensitive metagenomic classification via joint analysis of DNA and amino acid.
β 181seismic. Official repository of the Seismic library.
β 135minimizer-iter. Iterate over minimizers of a DNA sequence
β 33perf-book. The book "Performance Analysis and Tuning on Modern CPU"
β 3.6kminimizers. Reference implementations of minimizer schemes to go with the mod-minimizers paper.
β 29static-search-tree. High throughput suffix array searching
β 179teach-rs. A modular, reusable university course for Rust
β 3.4kdlb-kmer-sampling. Optimal distance lower bound k-mer sampling.
β 12c_cpp_hash_tables_benchmark. A comparative, extendable benchmarking suite for C and C++ hash-table libraries.
β 46centrifuger. Taxonomic classifier for sequencing reads (bulk and single-cell data, short and long read) using FM-index with run-block compressed BWT.
β 95mumemto. Mumemto: multi-MUM and MEM finding across pangenomes
β 133benchmarks_kaminari. Benchmarks of Kaminari competitors
β 1patterns. A catalogue of Rust design patterns, anti-patterns and idioms
β 8.9kbiolib. Library containing useful building blocks for bioinformatics software
β 5emvb. Implementation of "Efficient Multi-vector Dense Retrieval with Bit Vectors", ECIR 2024
β 70libcuckoo. A high-performance, concurrent hash table
β 1.7kRabbitFX. C++
β 17bqf. Implementation of a Backpack Quotient Filter
β 13CBL. A Rust library providing fully dynamic sets of k-mers with high locality
β 47emhash. Fast and memory efficient c++ flat hash table/map/set
β 721unordered_dense. A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion
β 1.4kModern-CPP-Programming. Modern C++ Programming Course (C++03/11/14/17/20/23/26)
β 16ksux-rs. Rust implementations of succinct data structures
β 73Movi. Fast, Cache-Efficient, and Scalable Queries on Pangenomes
β 45PtrHash. PtrHash minimal perfect hash function
β 100RandStrobes. HTML
β 9AllTheBacteria. Follow up to Grace Blackwell's 661k dataset, for 2023
β 152bsuccinct-rs. Rust libraries and programs focused on succinct data structures
β 169FQFeeder. Self-contained, multi-threaded fasta/q parser
β 50namfinder. Finds Non-overlapping Approximate Matches (NAMs) between query and reference sequences using strobemers
β 7CaPS-SA. Cache-friendly, Parallel, and Samplesort-based Constructor for Suffix Arrays and LCP Arrays
β 20cpuid2cpuflags. Tool to generate CPU_FLAGS_* for your CPU
β 121kmercamel. KmerCamelπ« provides implementations of several algorithms for efficiently representing a set of k-mers as a masked superstring.
β 20git. Some (hopefully) ready-to-use notes to start working with Git.
β 2SicHash. A (Minimal) Perfect Hash Function based on irregular cuckoo hashing, retrieval, and overloading.
β 20comprehensive-rust. This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.
β 33kuint128_t. C++ unsigned 128 bit integer type
β 238piscem-infer. Rust
β 15piscem. Mapping sequencing data to De Bruijn graphs, fast
β 37piscem-cpp. A small sparse and fast reference index based on SSHash and Tiling encoding
β 6kmdiff. Differential k-mer analysis
β 42ncbi-genome-download. Scripts to download genomes from the NCBI FTP servers
β 1.1kawesome-rust. A curated list of Rust code and resources.
β 59kggcat. Compacted and colored de Bruijn graph construction and querying
β 99prophasm. ProphAsm β a rapid computation of simplitigs directly from k-mer sets
β 25pufferfish2. Rust
β 15CoCo-trie. COllapsed and COmpressed trie: a data-aware compressed string dictionary
β 36wyhash. The FASTEST QUALITY hash function, random number generators (PRNG) and hash map.
β 1.1kidiomatic-rust. π¦ A peer-reviewed collection of articles/talks/repos which teach concise, idiomatic Rust.
β 7.8kkff-reference. Contains the description of a file format to store kmers and associated values
β 34Rust. All Algorithms implemented in Rust
β 26kSTAR. RNA-seq aligner
β 2.2kcuttlefish. Building the compacted de Bruijn graph efficiently from references or reads.
β 95SBWT. Code for the paper Succinct k-mer Set Representations Using Subset Rank Queries on the Spectral Burrows-Wheeler Transform (SBWT)
β 24agc. Assembled Genomes Compressor
β 186dynamic_bitset. Simple Useful Libraries: C++17/20 header-only dynamic bitset
β 179kmtricks. modular k-mer count matrix and Bloom filter construction for large read collections
β 89shuff. Static Huffman coding
β 10seastar. High performance server-side application framework
β 9.3kPrefix-Filter. Prefix Filter: Practically and Theoretically Better Than Bloom.
β 50BuRR. Bumped Ribbon Retrieval and Approximate Membership Query
β 51mutable_rank_select. A SIMD-based C++ library providing rank/select queries over mutable bitmaps.
β 36implementations. Clean minimalist implementations of popular competitive programming algorithms
β 233rcomp. C++17 implementation of online RLBWT construction in optimal-time and BWT-runs bounded space
β 8amh-code. Complete implementations from "Algorithms for Modern Hardware"
β 834algorithmica. A computer science textbook
β 4.9kCppCon2014. Speaker materials from CppCon 2014
β 2.3kstrobealign. Aligns short reads using dynamic seed size with strobemers
β 203UST. C++
β 24bcalm. compacted de Bruijn graph construction in low memory
β 101matchtigs. Minimum plain text representation of kmer sets
β 18cpp. C++ Tip Of The Week
β 1.7kstrobemers. A repository for generating strobemers and evalaution
β 79tongrams-rs. Rust library providing fast language model queries in compressed space
β 25Mesh. A memory allocator that automatically reduces the memory footprint of C/C++ applications.
β 1.9kabPOA. abPOA: an SIMD-based C library for fast partial order alignment using adaptive band
β 143velox. A composable and fully extensible C++ execution engine library for data management systems.
β 4.2ksuccinct. A collection of succinct data structures
β 215sucds. Collection of succinct data structures in Rust
β 105memset_benchmark. This repository contains high-performance implementations of memset and memcpy in assembly.
β 342ska_sort. C++
β 248flat_hash_map. A very fast hashtable
β 1.9ktoys. Storage for my snippets, toy programs, etc.
β 375awesome-cmake. A curated list of awesome CMake resources, scripts, modules and examples.
β 5.4kPFP-eBWT. Implementation of eBWT using Prefix-free parse (PFP)
β 14smart. String Matching Algorithms Research Tool
β 108MIPP. Portable wrapper for SIMD and vector instructions written in C++11. Compatible with NEON, SSE, AVX, AVX-512 and SVE (length specific).
β 529libfilter. High-speed Bloom filters and taffy filters for C, C++, and Java
β 35s2geometry. Computational geometry and spatial indexing on the sphere
β 2.7kgithub_link_creator. GitHub Link Card Creator lets you generate GitHub images has links to repositories.
β 206hilbert_curves. Fast Hilbert Curves
β 2sprintz. Sprintz time series compression algorithm
β 80bolt. 10x faster matrix and vector operations
β 2.5kjunction. Concurrent data structures in C++
β 1.5kperf-ninja. This is an online course where you can learn and master the skill of low-level performance analysis and tuning.
β 3.8kpynndescent. A Python nearest neighbor descent for approximate nearest neighbors
β 970TSXor. TSXor: A Simple Time Series Compression Algorithm
β 54libbf. :dart: Bloom filters for C++11
β 367zfp. Compressed numerical arrays that support high-speed random access
β 874pqkmeans. Fast and memory-efficient clustering
β 267constexpr_doublearray. C++17 implementation of constexpr double-array trie
β 9hashbench. Benchmarking Memory-Friendly Hash Tables
β 10mphf_benchmark. A Benchmark of Minimal Perfect Hash Function Algorithms.
β 39kanzi-cpp. Fast lossless data compression in C++
β 222Vc. SIMD Vector Classes for C++
β 1.5kips4o. In-place Parallel Super Scalar Samplesort (IPSβ΄o)
β 167Writing_Safer_C_code. Collection of articles on good practices and tools to improve C code quality
β 352cppinsights. C++ Insights - See your source code with the eyes of a compiler
β 4.5kcuckoo-index. Cuckoo Index: A Lightweight Secondary Index Structure
β 128fastmod. A C/C++ header file for fast 32-bit division remainders (and divisibility tests) on 64-bit hardware.
β 350opencv. Open Source Computer Vision Library
β 90kfpzip. Lossless compressor of multidimensional floating-point arrays
β 126stringsheet. A cheatsheet for most common Stringology tasks
β 14xenium. A C++ library providing various concurrent data structures and reclamation schemes.
β 652SMMT. Social Media Mining Toolkit (SMMT) main repository
β 137twarc. A command line tool (and Python library) for archiving Twitter JSON
β 1.4kdyft. C++17 Implementation of Dynamic Filter Trie
β 8covid19_twitter. Covid-19 Twitter dataset for non-commercial research use and pre-processing scripts - under active development
β 481libdatrie. C
β 183awesome-hpp. A curated list of awesome header-only C++ libraries
β 4.1ksketch. C++ Implementations of sketch data structures with SIMD Parallelism, including Python bindings
β 156lepton. Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
β 5kmih-rs. Fast neighbor search on binary codes
β 8Efficient-Data-Structures-for-Cache-Architectures. My PhD thesis, provided for your online reading. Learn how to code high-performance string data structures and data management algorithms. I recommend that you read this before you look at the code.
β 66frechet_simsearch. Experimental library of approximate trajectory similarity search under FrΓ©chet distance
β 6keyvi. Keyvi - the key value index. It is an in-memory FST-based data structure highly optimized for size and lookup performance.
β 260adaptive-radix-tree. An adaptive radix tree for efficient indexing in main memory.
β 175pmu-tools. Intel PMU profiling tools
β 2.2kkingdb. Fast on-disk persistent key-value store
β 387modern-cpp-features. A cheatsheet of modern C++ language and library features.
β 22karraylayout. Experiments with array layouts for comparison-based searching
β 88cpp-coding-guidelines. C++ Coding Conventions and Guidelines
β 50cJSON. Ultralightweight JSON parser in ANSI C
β 13kfilesystem. An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.
β 1.6kfast-approximate-filtering. Official repository of the ACM SIGIR 2019 paper: "Fast Approximate Filtering of Search Results Sorted by Attribute" by Franco Maria Nardini, Roberto Trani, and Rossano Venturini.
β 14mongoose. Embedded web server, with TCP/IP network stack, MQTT and Websocket
β 13kjstree. jquery tree plugin
β 5.2kGloVe. Software in C and data files for the popular GloVe model for distributed word representations, a.k.a. word vectors or embeddings
β 7.2khardware-effects. Demonstration of various hardware effects.
β 3kh3. Hexagonal hierarchical geospatial indexing system
β 6.4kkeyvi. Keyvi - a key value index that powers Cliqz search engine. It is an in-memory FST-based data structure highly optimized for size and lookup performance.
β 177SimpleOPE. Simple Order-Preserving Encoding in C++
β 13facebook-scraper. Scrape Facebook public pages without an API key
β 3.2kgz-sort. A utility for sorting really big files. http://kmkeen.com/gz-sort/
β 93wikipedia-data-science. Working with and analyzing Wikipedia Data
β 693rankselect. Space-Efficient, High-Performance Rank & Select Structures on Uncompressed Bit Sequences
β 55hamming_weight. C library to compute the Hamming weight of arrays
β 51sse-popcount. SIMD (SSE) population count --- http://0x80.pl/articles/sse-popcount.html
β 357sparsehash. C++ associative containers
β 1.6kpybind11. Seamless operability between C++11 and Python
β 18kconsistent_weighted_sampling. Software of 0-bit Consistent Weighted Sampling
β 7bST. Similarity search on integer sketches using bST (b-bit sketch trie)
β 3doctest. The fastest feature-rich C++11/14/17/20/23 single-header testing framework
β 6.8kzstd. Zstandard - Fast real-time compression algorithm
β 27kSTL. MSVC's implementation of the C++ Standard Library.
β 11ksuccinctrits. Succinct Rank/Select Data Structures on Trits
β 5cppbestpractices. Collaborative Collection of C++ Best Practices. This online resource is part of Jason Turner's collection of C++ Best Practices resources. See README.md for more information.
β 8.8k