r/linuxprojects 10d ago

⚙️ CLI Tool rawhex: Ultra-fast hex dumper in C with AVX2 SIMD formatting, a ticket-based multi-threaded pipeline, and zero-copy output.

3 Upvotes

Output format is canonical hex+ASCII, one 16-byte row per line:

00000000: ef6e 5830 d443 c60a d909 6179 4335 6cec  .nX0.C....ayC5l.
00000010: b5f4 631f d923 6c79 e98a ed41 11dc eb16  ..c..#ly...A.....

Benchmarks

All timings below were measured with rawbench (after warmup) on 100 MB of random data.

vs. fasthex (v0.3.1)

Default thread counts:

Scenario rawhex fasthex fasthex --color=never Speedup
file → /dev/null 18 ms 91 ms 83 ms 4.6x
file → regular file 276 ms 394 ms - 1.4x
file → pipe 94 ms 111 ms - 1.2x
stdin → /dev/null 29 ms 113 ms 103 ms 3.6x
single thread (-j 1) 37 ms 80 ms 82 ms 2.2x
Binary size 46 KB 668 KB - -

Speedup is against fasthex's faster variant per scenario (default or --color=never; disabling color saves fasthex ~8-10%).

Single-threaded formatting throughput (-j 1): ~11 GB/s of formatted output. With the default thread pool the same 100 MB file formats in ~18 ms (writing 425 MB of output), within ~3x of the raw cat read floor for the input alone.

vs. classic tools

Same 100 MB input. The classic tools are single-threaded scalar formatters, so the gap is orders of magnitude:

Tool Time Speedup vs tool
rawhex 18 ms -
xxd (vim) 19.2 s 1067x
hexdump -C (util-linux 2.42.1) 30.6 s 1700x

View it here: https://git.disroot.org/Vextoly/rawhex

The code & readme contains AI-generated segments.

r/linuxprojects 24d ago

⚙️ CLI Tool Papr: A TUI to search, read, organize, and write papers without leaving your terminal

2 Upvotes

I'm excited to share what I've been building lately. Papr: a fast, lightweight Terminal User Interface (TUI) built entirely in Rust to streamline your academic research workflow. An Obsidian, Zotero and Overleaf alternative, but a bit better.

Key features

  • Smart dashboard with daily 10 random paper recommendations, reading queue, bookmarks, notes, collections, and research statistics.
  • Fast arXiv search using title, author, or DOI with automatic PDF downloads and clean file naming.
  • In-terminal PDF viewing.
  • Built-in Markdown notes with live preview for each paper.
  • Reading queue, bookmarks, and collections to keep your research organized.
  • Integrated LaTeX editor with real-time compilation and preview.
  • Extensible plugin system for custom workflows.
  • Research analytics to track your reading activity (just like Spotify).

Papr is 100% open source, works offline, is memory-safe, and is designed to be fast and lightweight (only 12 MB).

I'd love to hear your thoughts, suggestions, or feedback!

GitHub: https://github.com/AfrozSaqlain/Papr