Skip to content

UPSTREAM PR #2448: Use GIX_TEST_FIXTURE_HASH for gix-refspec#25

Open
loci-dev wants to merge 4 commits intomainfrom
loci/pr-2448-add-sha-256-to-gix-refspec
Open

UPSTREAM PR #2448: Use GIX_TEST_FIXTURE_HASH for gix-refspec#25
loci-dev wants to merge 4 commits intomainfrom
loci/pr-2448-add-sha-256-to-gix-refspec

Conversation

@loci-dev
Copy link
Copy Markdown

@loci-dev loci-dev commented Mar 2, 2026

Note

Source pull request: GitoxideLabs/gitoxide#2448

This PR adds sha256 support to gix-refspec tests. It adds the sha256 feature flag to dev-dependencies and runs the test suite for gix-refspec for both sha1 and sha256. It adds separate branches for SHA-256 in a few places where SHA-1 hashes were hardcoded.

Open questions

  • gix-refspec/tests/fixtures/generated-archives/.gitignore includes /match_baseline.tar. Does it also need to include /match_baseline_sha256.tar? (I haven’t committed the latter yet.)
  • gix_refspec::parse::function::looks_like_object_hash uses gix_hash::Kind::shortest. Does it need to be changed? (I suspect it doesn’t.)

@loci-review
Copy link
Copy Markdown

loci-review bot commented Mar 2, 2026

Overview

Analysis of 26,403 functions across two Gitoxide binaries reveals negligible performance impact between versions. Modified functions: 32 (0.12%), new: 124, removed: 124, unchanged: 26,123 (98.94%). Power consumption increased 0.004% for both target.aarch64-unknown-linux-gnu.release.ein (295,790.55 nJ → 295,802.25 nJ) and target.aarch64-unknown-linux-gnu.release.gix (801,362.35 nJ → 801,392.32 nJ). Only one function met analysis thresholds, showing minor improvement. Commits focused on test infrastructure (hash algorithm selection for test fixtures), with no production code changes affecting performance-critical paths.

Function Analysis

The parse_from function in ein binary showed throughput improvement of 4.58% (157.54ns → 150.34ns, -7.20ns) with negligible response time change of 0.0044% (62.396ms → 62.398ms, +2.776μs). This clap-generated command-line parser executes once at startup before Git operations. No source code changes detected; the variation results from compiler optimization differences in the rebuild. The function is not performance-critical and has no impact on core Git operations (object database, pack operations, diffing, status computation).

🔎 Full breakdown: Loci Inspector
💬 Questions? Tag @loci-dev

@loci-review
Copy link
Copy Markdown

loci-review bot commented Mar 3, 2026

No summary available at this time. Visit Loci Inspector to review detailed analysis.

@loci-dev loci-dev force-pushed the main branch 3 times, most recently from 3a9c4ae to a28c634 Compare March 10, 2026 07:47
@loci-dev loci-dev force-pushed the main branch 4 times, most recently from 3deba97 to 9b41e5f Compare March 18, 2026 07:49
@loci-dev loci-dev force-pushed the loci/pr-2448-add-sha-256-to-gix-refspec branch from 5c1e949 to 37bef49 Compare March 22, 2026 07:45
@loci-review
Copy link
Copy Markdown

loci-review bot commented Mar 22, 2026

No meaningful performance changes were detected across 26512 analyzed functions in the following binaries: target.aarch64-unknown-linux-gnu.release.gix, target.aarch64-unknown-linux-gnu.release.ein.

🔎 Full breakdown: Loci Inspector
💬 Questions? Tag @loci-dev

@loci-dev loci-dev force-pushed the main branch 6 times, most recently from a9e7940 to d9d8ccd Compare March 28, 2026 07:48
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