about summary refs log tree commit diff
path: root/tools
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-07-01T14·13+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-07-01T14·13+0100
commit155dff562ac5c9d893ace858c4a41a2d89955097 (patch)
tree441b57821867b23294c5818d194f6651097fdb05 /tools
parenta8b3a2d3c0aad932c650e60959b6afab7d3fa018 (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 'tools')
0 files changed, 0 insertions, 0 deletions