1
0
Commit Graph

172 Commits

Author SHA1 Message Date
Patrick Mylund Nielsen
f73e2280ec Ensure onEvicted is run after DeleteLRUAmount, and don't allocate evicted items array if no onEvicted function is registered 2017-04-19 10:26:35 -04:00
Patrick Mylund Nielsen
78ff45eea0 Don't return a pointer in Item.LastAccessed() 2017-04-19 10:14:55 -04:00
Patrick Mylund Nielsen
c63dcbab96 Avoid more time.Now() calls 2017-04-18 22:45:37 -04:00
Patrick Mylund Nielsen
cd479c6eeb Add GetManyConcurrent benchmarks for LRU cache 2017-04-18 22:12:31 -04:00
Patrick Mylund Nielsen
6a67eef9fd Add concurrent read benchmark for LRU cache 2017-04-18 22:03:33 -04:00
Patrick Mylund Nielsen
cde99c3f10 README.md: Remove trailing spaces 2017-04-18 21:54:29 -04:00
Patrick Mylund Nielsen
795debb4ed Merge latest master (GetWithExpiration) with LRU 2017-04-18 20:01:30 -04:00
Patrick Mylund Nielsen
fdfec335d5 Various updates to LRU functionality 2017-04-18 19:47:15 -04:00
Patrick Mylund Nielsen
7ac151875f Merge pull request #46 from alexedwards/master
Add GetWithExpiration
2017-04-18 19:29:47 -04:00
M
d8d9d6491e Various fixes for upstream acceptance, and formatting
Removes the ctime tracking and access. Reverts NewFrom() changes from
upstream, and adds NewFromWithLRU() in place of it.
2017-04-18 12:40:40 -04:00
Patrick Mylund Nielsen
ea4bd2a538 LICENSE: Update copyright years 2017-03-26 12:37:11 -04:00
Patrick Mylund Nielsen
96426d0c5b README.md: Remove the unprotected change example since it would actually need external synchronization 2017-03-26 12:36:28 -04:00
Patrick Mylund Nielsen
dd1ed0ba63 README.md: Remove one level of indentation and increase 'recommended' cleanupInterval 2017-03-26 12:30:15 -04:00
Alex Edwards
8c11fe2df0 Add GetWithExpiration 2016-12-08 14:50:49 +01:00
Patrick Mylund Nielsen
e7a9def80f Add SetDefault() for setting with the default expiration 2016-11-25 18:48:19 -05:00
Patrick Mylund Nielsen
52581776a3 LICENSE: Update copyright year 2016-11-25 14:18:09 -05:00
Patrick Mylund Nielsen
9e6d9117e7 Add 'inlining of expired' note to Items() 2016-11-25 13:57:39 -05:00
Patrick Mylund Nielsen
a2d8b56f0c Make Items() return a copy rather than an unsynchronized reference to the underlying items map 2016-11-25 13:56:11 -05:00
Patrick Mylund Nielsen
1881a9bccb Merge pull request #29 from darrenmcc/master
added go syntax highlighting to README
2016-01-27 12:00:04 -05:00
Darren McCleary
da6326cd69 added go syntax highlighting to README 2016-01-27 11:56:21 -05:00
Patrick Mylund Nielsen
5849ccb308 remove mu.RUnlock call from get 2016-01-08 15:02:42 -05:00
Patrick Mylund Nielsen
721cc9438c Add BenchmarkRWMutexInterfaceMapGetString 2015-12-03 09:55:58 -05:00
Patrick Mylund Nielsen
8c41258ef3 Add BenchmarkRWMutexInterfaceMapGet 2015-12-03 09:40:14 -05:00
Patrick Mylund Nielsen
faf83836bd Change GitHub repository URLs in README 2015-12-02 14:32:12 -05:00
Patrick Mylund Nielsen
66bf7b7a45 Update README to point to new repository URL 2015-12-01 11:18:46 -05:00
Patrick Mylund Nielsen
d461c5d2dd 'Inline' set in Set, and do time checks before the lock 2015-12-01 11:08:43 -05:00
Patrick Mylund Nielsen
76f1250a65 Make OnEvicted() a little faster 2015-11-30 16:18:49 -05:00
Patrick Mylund Nielsen
7c1e7f5829 go fmt 2015-11-30 16:04:57 -05:00
Patrick Mylund Nielsen
9fc6f9c73f Add expiring/notexpiring sharded cache benchmarks 2015-11-30 16:04:49 -05:00
Patrick Mylund Nielsen
afadf13f9f Back to UnixNano(), syscall dependency isn't worth a few nanoseconds better performance 2015-11-30 15:12:19 -05:00
Patrick Mylund Nielsen
f6cdd07cbb Merge branch 'timeval' 2015-11-30 15:02:11 -05:00
Patrick Mylund Nielsen
2f0c74ebb8 Use intermediary timevals 2015-11-30 15:02:02 -05:00
Patrick Mylund Nielsen
2f60853f80 No need for emptyTime anymore 2015-11-30 14:49:18 -05:00
Patrick Mylund Nielsen
01842a547c Use timevals 2015-11-30 14:47:22 -05:00
Patrick Mylund Nielsen
1924ec3baf Remove expired() since it's no longer used (because of the inlining) 2015-11-30 14:14:52 -05:00
Patrick Mylund Nielsen
8084bd02b5 Inline expiration checks manually for performance 2015-11-30 14:12:45 -05:00
Patrick Mylund Nielsen
eb4f9f6b2f Use UnixNano int64s instead of Time 2015-11-30 13:54:01 -05:00
Patrick Mylund Nielsen
31c7be0bed 'Inline' Get and Expired 2015-11-30 13:50:17 -05:00
Patrick Mylund Nielsen
4e0d34ef00 Only get the current time once in the DeleteExpired loop 2015-11-30 13:39:27 -05:00
Patrick Mylund Nielsen
a45ed98559 Add benchmarks that use expiring items (time.Now calls) and rename BenchmarkDeleteExpired to BenchmarkDeleteExpiredLoop for clarity 2015-11-30 10:45:30 -05:00
Patrick Mylund Nielsen
28ab885a1a Make BenchmarkDeleteExpired more meaningful 2015-11-28 15:13:26 -05:00
Patrick Mylund Nielsen
cf4e165754 Add IncrementInt benchmark 2015-11-28 14:56:23 -05:00
Patrick Mylund Nielsen
901b2413ee Improve cache locality by removing Item-related pointers 2015-11-28 14:47:46 -05:00
Patrick Mylund Nielsen
3d4d09ca0b Add a benchmark for DeleteExpired() 2015-11-28 14:35:38 -05:00
Patrick Mylund Nielsen
0ba3e0049c Update copyright years 2015-11-28 14:21:44 -05:00
Patrick Mylund Nielsen
ac0fcef49b Clarify that the OnEvicted function isn't called when an item is overwritten 2015-11-28 12:27:08 -05:00
Patrick Mylund Nielsen
e9441b12e0 Add mutex-using test condition to TestOnEvicted 2015-11-28 12:22:52 -05:00
Patrick Mylund Nielsen
3f2c810ea1 Add OnEvicted() 2015-11-27 22:00:08 -05:00
Patrick Mylund Nielsen
a0136a8980 Don't expose the cache mutex 2015-11-27 13:03:24 -05:00
Patrick Mylund Nielsen
a122e14c4b Merge pull request #23 from databus23/patch-1
Fix leaking the janitor ticker when shutting down
2015-10-13 08:21:26 -04:00