Yingchun Lai
f40868a480
[Optimize] Improve LRU cache's performance ( #4781 )
...
When LRUCache insert and evict a large number of entries, there are
frequently calls of HandleTable::remove(e->key, e->hash), it will
lookup the entry in the hash table. Now that we know the entry to
remove 'e', we can remove it directly from hash table's collision list
if it's a double linked list.
This patch refactor the collision list to double linked list, the simple
benchmark CacheTest.SimpleBenchmark shows that time cost reduced about
18% in my test environment.
2020-11-06 10:56:27 +08:00
..
2020-03-01 10:48:00 +08:00
2020-06-24 10:13:45 +08:00
2020-11-03 19:53:44 +08:00
2020-09-04 10:10:17 +08:00
2020-07-31 21:57:21 +08:00
2019-07-15 21:18:22 +08:00
2020-05-25 18:55:19 +08:00
2020-05-25 18:55:19 +08:00
2020-04-08 11:17:47 +08:00
2020-08-21 10:41:54 +08:00
2020-07-31 21:57:21 +08:00
2020-07-31 21:57:21 +08:00
2020-11-05 20:29:01 +08:00
2019-07-24 19:33:30 +08:00
2020-08-06 23:19:40 +08:00
2020-10-13 09:37:15 +08:00
2020-04-08 11:17:47 +08:00
2020-04-08 11:17:47 +08:00
2019-09-03 13:52:16 +08:00
2020-06-21 09:37:05 +08:00
2020-07-31 21:57:21 +08:00
2020-07-31 21:57:21 +08:00
2020-11-06 10:56:27 +08:00
2020-06-07 10:21:33 +08:00
2020-07-31 21:57:21 +08:00
2019-07-15 21:18:22 +08:00
2020-05-04 09:20:53 +08:00
2019-11-22 18:12:26 +08:00
2020-03-20 20:37:50 +08:00
2020-10-20 09:28:57 +08:00
2020-09-20 20:57:00 +08:00
2020-09-20 20:57:00 +08:00
2020-07-31 21:57:21 +08:00
2020-10-20 09:28:57 +08:00
2019-12-13 14:16:16 +08:00
2020-08-27 17:52:53 +08:00
2019-10-17 19:20:00 +08:00
2018-11-16 16:03:56 +08:00
2020-10-13 09:37:15 +08:00
2020-07-31 21:57:21 +08:00
2020-07-31 21:57:21 +08:00
2020-04-22 22:59:44 +08:00
2019-07-15 21:18:22 +08:00
2020-06-06 11:36:28 +08:00
2020-09-04 10:10:17 +08:00
2020-01-03 17:41:26 +08:00
2020-10-20 09:28:57 +08:00
2020-10-20 09:28:57 +08:00
2020-05-04 09:20:53 +08:00