crepererum commented on code in PR #17031:
URL: https://github.com/apache/datafusion/pull/17031#discussion_r2253591073
##########
Cargo.toml:
##########
@@ -153,6 +153,7 @@ hex = { version = "0.4.3" }
indexmap = "2.10.0"
itertools = "0.14"
log = "^0.4"
+lru = "0.16.0"
Review Comment:
`O(1)` only tells you half of the story. A traditional LRU still requires
expensive bookkeeping for a GET+MISS case since you need to preserve the LRU
order for evictions -- or you perform a potentially expensive (partial) sort
whenever you need to evict data. So I think the question should be if this
cache is read optimized or not and if your GET operations are concurrent. If
both questions are answered with YES, then I suggest we just implement
[SIEVE](https://sieve-cache.com/). It's simple and quite performant.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]