diff options
author | William Carroll <wpcarro@gmail.com> | 2020-07-01T14·13+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-07-01T14·13+0100 |
commit | 155dff562ac5c9d893ace858c4a41a2d89955097 (patch) | |
tree | 441b57821867b23294c5818d194f6651097fdb05 /website/blog/default.nix | |
parent | a8b3a2d3c0aad932c650e60959b6afab7d3fa018 (diff) |
Impl part 3/3 for Memo
Refactor the caching policy for the Memo by evicting the elements that have been the least-recently-accessed. Python's heapq module default to a min-heap. By storing our heap elements as (UnixTime, a), we can guarantee that when we call heappop, we will get the element with the lowest UnixTime value in heap (i.e. the oldest). When we call heappush, we use (time.time(), key) and these values -- by having the largest UnixTime, will propogate to the bottom of the min-heap.
Diffstat (limited to 'website/blog/default.nix')
0 files changed, 0 insertions, 0 deletions