grafts: Preserve the cache across recursive calls.
Before this commit, we'd lose the cache across recursive calls to
'cumulative-grafts', which isn't great performance-wise.
This bug was already present before
d38bc9a9f6
.
* guix/grafts.scm (with-cache): In the miss case, call 'current-state'
after EXP has been evaluated.
This commit is contained in:
parent
90ad5c8836
commit
0aeed5e310
|
@ -221,7 +221,8 @@ available."
|
|||
((_ . result) ;cache hit
|
||||
(return result))
|
||||
(#f ;cache miss
|
||||
(mlet %state-monad ((result (begin exp ...)))
|
||||
(mlet %state-monad ((result (begin exp ...))
|
||||
(cache (current-state)))
|
||||
(mbegin %state-monad
|
||||
(set-current-state (vhash-consq key result cache))
|
||||
(return result)))))))
|
||||
|
|
Loading…
Reference in New Issue