From 1c4e392c64939ca961458cfb15a9da1e4d883b22 Mon Sep 17 00:00:00 2001 From: Guillaume Maudoux Date: Thu, 25 Apr 2024 00:44:47 +0200 Subject: [PATCH] Compute fingerprint only if needed As per Eelco's review comments Co-authored-by: Eelco Dolstra --- src/libcmd/installables.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/libcmd/installables.cc b/src/libcmd/installables.cc index 5683e1afa..e5c981629 100644 --- a/src/libcmd/installables.cc +++ b/src/libcmd/installables.cc @@ -443,9 +443,8 @@ ref openEvalCache( EvalState & state, std::shared_ptr lockedFlake) { - auto fingerprint = lockedFlake->getFingerprint(state.store); - auto hash = evalSettings.useEvalCache && evalSettings.pureEval - ? fingerprint + auto fingerprint = evalSettings.useEvalCache && evalSettings.pureEval + ? lockedFlake->getFingerprint(state.store) : std::nullopt; auto rootLoader = [&state, lockedFlake]() { @@ -472,7 +471,7 @@ ref openEvalCache( } return search->second; } else { - return make_ref(hash, state, rootLoader); + return make_ref(std::nullopt, state, rootLoader); } }