Skip to content

[IMPROVEMENT] Add Linux throughput benchmarking guide and helper script#2246

Closed
ObaidAbdullah16 wants to merge 1 commit into
CCExtractor:masterfrom
ObaidAbdullah16:docs-linux-throughput-benchmark
Closed

[IMPROVEMENT] Add Linux throughput benchmarking guide and helper script#2246
ObaidAbdullah16 wants to merge 1 commit into
CCExtractor:masterfrom
ObaidAbdullah16:docs-linux-throughput-benchmark

Conversation

@ObaidAbdullah16
Copy link
Copy Markdown

In raising this pull request, I confirm the following (please check boxes):

Reason for this PR:

  • This PR adds new functionality.
  • This PR fixes a bug that I have personally experienced or that a real user has reported and for which a sample exists.
  • This PR is porting code from C to Rust.
  • Other (documentation / developer tooling improvement)

Sanity check:

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • If the PR adds new functionality, I've added it to the changelog. If it's just a bug fix, I have NOT added it to the changelog.
  • I am NOT adding new C code unless it's to fix an existing, reproducible bug.

Repro instructions:

N/A — this PR does not change extraction logic and does not fix a specific bug. It adds documentation + a helper script for repeatable Linux throughput benchmarking.


Summary

This PR adds a small Linux-focused benchmarking guide plus a helper script to measure CCExtractor throughput (MB/s) in a repeatable way.

The goal is to make it easier for contributors to compare performance before/after changes (scheduler, I/O, filesystem, build flags, etc.) using a consistent workflow.

Context

I’m working towards Linux throughput/performance tuning work and wanted to contribute a small prerequisite: a repeatable way to benchmark CCExtractor throughput before/after changes.

Changes

  • Add docs/performance/linux-throughput.md with a short, repeatable throughput benchmarking workflow for Linux.
  • Add tools/bench_linux_throughput.sh to run CCExtractor multiple times and print wall time + MB/s, with optional CSV output.
  • Link the guide from README.md under a new Performance section.

Sample / verification instructions (Linux)

This PR is docs + tooling (not a bug fix), but to make the instructions concrete here is a public sample you can use to try the script:

Sample (public/open movie):

Example run:

# 1) Build CCExtractor so ./ccextractor exists in the repo root.
# 2) Download a Big Buck Bunny MP4 file from the link above (any resolution is fine)
#    and set INPUT to that file path.

export INPUT="/path/to/big_buck_bunny.mp4"
export OUTDIR="/tmp/ccx_bench_out"
mkdir -p "$OUTDIR"

bash tools/bench_linux_throughput.sh --input "$INPUT" --runs 3 --outdir "$OUTDIR" --csv "$OUTDIR/results.csv"

Expected result:

  • The script prints per-run seconds and MB/s.
  • results.csv is created with columns run,seconds,mb,mb_per_s.

@ObaidAbdullah16
Copy link
Copy Markdown
Author

Hi @cfsmp3 — could you please take a look when you have a moment? This PR adds a Linux throughput benchmarking guide + helper script. Thanks!

@cfsmp3
Copy link
Copy Markdown
Contributor

cfsmp3 commented Apr 4, 2026

Closing — we appreciate the effort, but we don't want to add benchmarking tooling to the project at this time. The README whitespace changes are cosmetic and not needed. Thanks though.

@cfsmp3 cfsmp3 closed this Apr 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants