37 lines
No EOL
1.3 KiB
Markdown
37 lines
No EOL
1.3 KiB
Markdown
# 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:
|
|
```bash
|
|
cargo run
|
|
```
|
|
|
|
Run benchmarks:
|
|
```bash
|
|
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. |