From 4791d16a8efc42fb40ffab79bcdae4f0e106cd89 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Thu, 7 Mar 2024 10:00:43 -0700 Subject: perf(cli): use faster_hex (#22761) `cli::util::checksum` was showing up on flame graphs because it was concatenating allocated strings. We can use `faster-hex` to improve it. --- cli/tools/registry/mod.rs | 2 +- cli/tools/registry/provenance.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'cli/tools') diff --git a/cli/tools/registry/mod.rs b/cli/tools/registry/mod.rs index 7b940592f..faea95a1a 100644 --- a/cli/tools/registry/mod.rs +++ b/cli/tools/registry/mod.rs @@ -688,7 +688,7 @@ async fn publish_package( package.scope, package.package, package.version ), digest: provenance::SubjectDigest { - sha256: hex::encode(sha2::Sha256::digest(&meta_bytes)), + sha256: faster_hex::hex_string(&sha2::Sha256::digest(&meta_bytes)), }, }; let bundle = provenance::generate_provenance(subject).await?; diff --git a/cli/tools/registry/provenance.rs b/cli/tools/registry/provenance.rs index 117c10abc..69926372e 100644 --- a/cli/tools/registry/provenance.rs +++ b/cli/tools/registry/provenance.rs @@ -622,12 +622,12 @@ async fn testify( // Rekor "intoto" entry for the given DSSE envelope and signature. // // Calculate the value for the payloadHash field into the Rekor entry - let payload_hash = hex::encode(sha2::Sha256::digest( + let payload_hash = faster_hex::hex_string(&sha2::Sha256::digest( content.dsse_envelope.payload.as_bytes(), )); // Calculate the value for the hash field into the Rekor entry - let envelope_hash = hex::encode({ + let envelope_hash = faster_hex::hex_string(&{ let dsse = DsseEnvelope { payload: content.dsse_envelope.payload.clone(), payload_type: content.dsse_envelope.payload_type.clone(), -- cgit v1.2.3