Skip to content

Conversation

@sylvestre
Copy link
Contributor

hyperfine --warmup 3 "/usr/bin/unexpand moby64.txt"                     "./target/release/coreutils.prev unexpand moby64.txt" "./target/release/coreutils unexpand moby64.txt"
Benchmark 1: /usr/bin/unexpand moby64.txt
  Time (mean ± σ):      95.8 ms ±   3.8 ms    [User: 81.1 ms, System: 14.6 ms]
  Range (min … max):    89.6 ms … 104.8 ms    31 runs

Benchmark 2: ./target/release/coreutils.prev unexpand moby64.txt
  Time (mean ± σ):     952.3 ms ±   3.0 ms    [User: 846.4 ms, System: 105.6 ms]
  Range (min … max):   949.4 ms … 958.1 ms    10 runs

Benchmark 3: ./target/release/coreutils unexpand moby64.txt
  Time (mean ± σ):      63.7 ms ±   2.2 ms    [User: 52.9 ms, System: 10.7 ms]
  Range (min … max):    60.8 ms …  70.2 ms    46 runs

Summary
  ./target/release/coreutils unexpand moby64.txt ran
    1.50 ± 0.08 times faster than /usr/bin/unexpand moby64.txt
   14.95 ± 0.53 times faster than ./target/release/coreutils.prev unexpand moby64.txt

@sylvestre
Copy link
Contributor Author

we are still slower with -a

@codspeed-hq
Copy link

codspeed-hq bot commented Oct 5, 2025

CodSpeed Performance Report

Merging #8815 will improve performances by 5.35%

Comparing sylvestre:perf-unexpand (687716c) with main (02312bf)

Summary

⚡ 2 improvements
✅ 77 untouched
⏩ 73 skipped1

Benchmarks breakdown

Benchmark BASE HEAD Change
unexpand_large_file[10] 577.3 ms 548 ms +5.35%
unexpand_many_lines[100000] 275.4 ms 261.4 ms +5.35%

Footnotes

  1. 73 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@sylvestre sylvestre marked this pull request as ready for review October 5, 2025 13:10
@github-actions
Copy link

github-actions bot commented Oct 5, 2025

GNU testsuite comparison:

Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@cakebaker cakebaker merged commit af27562 into uutils:main Oct 5, 2025
99 checks passed
@sylvestre sylvestre deleted the perf-unexpand branch October 5, 2025 14:57
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