github GitoxideLabs/gitoxide gix-diff-v0.70.0
gix-diff v0.70.0

7 hours ago

Bug Fixes

  • apply the rewrite limit to each side like Git
  • only compare rewrite destinations to possible sources

Performance

  • force line tokenization into interning loops

    Profiling the in-memory blob benchmark on macOS arm64 placed about 45% of
    samples in ByteLinesWithoutTerminator::next(). Force this small iterator
    method into its callers so interning avoids a separate call for each line.
    The ordinary inline hint did not produce a useful improvement.

    Alternating baseline and candidate runs with Rust 1.99 measured roughly
    21-23% less interning time on the existing sparse-edit fixtures:

    • 448 lines: about 8.77 us to 6.76-6.87 us.
    • 28,672 lines: about 566-571 us to 447-451 us.

    Keep the iterator implementation and public API unchanged. Add direct
    coverage for empty inputs and lines, LF/CRLF, an unterminated final CR,
    arbitrary bytes, and repeated calls after exhaustion.

Commit Statistics

  • 14 commits contributed to the release over the course of 14 calendar days.
  • 14 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge pull request #3080 from cruessler/add-shortcut-for-trivial-myers-changes (59ba38b)
    • Add benchmark for trivial Myers cases (40a6592)
    • Merge pull request #3074 from GitoxideLabs/fix/imara-myers-whole-file-occurrences (ad129e1)
    • Force line tokenization into interning loops (b898550)
    • Benchmark gix-diff blob stages, algorithms, and allocation reuse (0fc9377)
    • Merge pull request #3062 from hashhar/hashhar/rename-limit (d568e8b)
    • Review (02ebc88)
    • Apply the rewrite limit to each side like Git (e571a92)
    • Merge pull request #3055 from martinvonz/mz/txulrqqtxoln (cd317d3)
    • Review (b7be86d)
    • Only compare rewrite destinations to possible sources (cca6c27)
    • Merge pull request #3053 from GitoxideLabs/various-improvements (2d8dcc4)
    • Release gix-error v0.5.1, gix-utils v0.5.1 (6d1b686)
    • Merge pull request #3048 from GitoxideLabs/new-release (5fccccf)

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.