lseq/research
2025-12-12 21:34:06 -08:00
..
benches fix: upgrade everywhere to rand 0.9 2025-12-12 21:34:06 -08:00
src fix: upgrade everywhere to rand 0.9 2025-12-12 21:34:06 -08:00
.plan feat: attempt to benchmark another implementation from crates.io 2025-07-08 18:38:49 -07:00
ALGORITHM_EXPLANATION.md feat: experiment with different implementations of LSEQ 2025-07-08 16:49:52 -07:00
Cargo.lock fix: upgrade everywhere to rand 0.9 2025-12-12 21:34:06 -08:00
Cargo.toml fix: upgrade everywhere to rand 0.9 2025-12-12 21:34:06 -08:00
README.md feat: experiment with different implementations of LSEQ 2025-07-08 16:49:52 -07:00

L-SEQ Research

This crate contains experimental implementations of the L-SEQ algorithm for research and comparison purposes.

Structure

  • src/algorithms/original_paper_reference_impl.rs - A direct, naive translation of the original L-SEQ paper
  • benches/ - Criterion benchmarks comparing different implementations
  • src/main.rs - Simple demonstration of the original paper implementation

Implementations

Original Paper Reference Implementation

This is a direct translation of the L-SEQ algorithm from the original paper without optimizations. It's designed to be as close as possible to the pseudocode from the paper for verification and comparison purposes.

Future Implementations

This crate is structured to allow adding more experimental implementations in the src/algorithms/ directory to explore different tradeoffs and optimizations.

Usage

Run the demo:

cargo run

Run benchmarks:

cargo bench

Philosophy

This crate avoids abstraction layers and keeps each L-SEQ implementation as a concrete type with its own SortKey. Comparisons and compatibility testing are handled in the benchmarks rather than through trait abstractions.

Each implementation is self-contained and can be studied independently without needing to understand complex trait hierarchies or wrapper types.