1
0
Commit Graph

58 Commits

Author SHA1 Message Date
6b566c2c3a
Pass battery of linting/vetting
including:

- gofmt -s to simplify some code
- Properly capture range variable (go vet)
- Update doc comments (fix golint errors)
2017-04-30 19:45:06 -07: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
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
Alex Edwards
8c11fe2df0 Add GetWithExpiration 2016-12-08 14:50:49 +01: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
7c1e7f5829 go fmt 2015-11-30 16:04:57 -05:00
Patrick Mylund Nielsen
eb4f9f6b2f Use UnixNano int64s instead of Time 2015-11-30 13:54:01 -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
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
Matt Keller
d600e983c2 For inclusion with upstream projection, Cache.New() has been reverted to
its former argument list, and Cache.NewWithLRU() as been added to allow
setting maxItems. cache_test has also been reverted.
2015-03-09 08:17:46 -04:00
Matt Keller
f66ee0bbc6 Injected LRU capabilities that simply:
* ensures that when an item is added, if the number of unexpired items
>= maximum number of items specified, the oldest (based on ACCESS) is
expired
* when an item is "gotten", or "set", the access time is updated

The existing janitor system is unchanged, and used to actually delete
the items.

The only change from a consumer standpoint, is one addition parameter at
the end of a "New" call, that specifies the maximum number of items to
allow, or 0, if you want to disable the LRU at all.
2015-02-27 15:57:16 -05:00
Patrick Mylund Nielsen
03284ca422 Replace sharded hash function/misc mods 2014-12-22 10:37:59 -05:00
Patrick Mylund Nielsen
8a2f4f19ef go fmt 2014-12-22 02:48:52 -05:00
Patrick Mylund Nielsen
46827c6a61 Add NoExpiration and DefaultExpiration constants and use them (thanks to Jason Mooberry) 2014-12-22 01:46:22 -05:00
Patrick Mylund Nielsen
73a30b2033 Add NewFrom, and deprecate Save, SaveFile, Load, and LoadFile 2014-12-22 01:12:10 -05:00
Patrick Mylund Nielsen
2fb27e8369 Change the names of the MutexMap benchmarks to RWMutex to clarify the changes to the map benchmarks and the cache itself 2013-06-30 20:40:26 -04:00
Patrick Mylund Nielsen
155ab21e5d Use an RWMutex in the cache-equivalent map tests now that the cache uses one 2013-06-30 20:31:46 -04:00
Patrick Mylund Nielsen
c9f5754801 Add O(1) ItemCount method to retrieve items currently in the cache map (whether expired and not cleaned up or not) 2013-04-18 14:32:01 -04:00
Patrick Mylund Nielsen
d5d03c28d4 Add specialized increment and decrement methods 2013-04-18 14:24:30 -04:00
Patrick Mylund Nielsen
9cc10f6f2f Use a type switch instead, and Use unexported NewSharded in test 2012-08-17 11:35:20 +02:00
Patrick Mylund Nielsen
15cda21ff4 Add an interface, embed the mutex, and unexport some unnecessarily exported fields 2012-07-04 19:34:37 +01:00
Patrick Mylund Nielsen
52c269d8ae Testing a sharded cache. Could be useful for massively parallel applications 2012-06-22 09:24:09 +01:00
Patrick Mylund Nielsen
0f0584a805 Fix BenchmarkCacheSetDeleteSingleLock 'cheating' by unintentionally only locking once in the whole benchmark, rather than once per set and delete 2012-06-22 06:52:32 +01:00
Patrick Mylund Nielsen
803ceeaf1a Use runtime.numCPU() workers in concurrent benchmarks, remove pointless benchmarks for racy maps, and add replacement benchmarks using mutexed maps 2012-06-22 03:06:06 +01:00
Dustin Sallings
fbcdb10061 Don't overparallelize the concurrent test. 2012-06-21 17:36:24 -07:00
Patrick Mylund Nielsen
84d15102eb Add test for concurrent cache.Get 2012-02-21 18:46:25 +01:00
Patrick Mylund Nielsen
91bd4334f1 Don't use defer for mutex unlocking (it currently adds ~200ns) 2012-02-17 01:40:55 +01:00
Patrick Mylund Nielsen
39b4f413a1 Don't format in t.Error() 2012-02-13 21:37:17 +01:00
Patrick Mylund Nielsen
6660155e6c gofmt 2012-02-12 01:54:16 +01:00
Patrick Mylund Nielsen
b95b9110a4 Get ready for Go1 2012-02-12 00:15:25 +01:00
Patrick Mylund Nielsen
eaf2373adf Add a test for file serialization and one to ensure objects expire even after having been serialized and reloaded 2012-01-29 05:30:35 +01:00
Patrick Mylund Nielsen
07aec145ba Add another child in structception test just to make sure 2012-01-29 04:43:26 +01:00
Patrick Mylund Nielsen
132462db11 Added test for structs within structs 2012-01-29 04:35:47 +01:00
Patrick Mylund Nielsen
d5cd41da53 Note about channels being unserializable 2012-01-29 04:04:33 +01:00
Patrick Mylund Nielsen
98c2ce9eb4 Cache serialization 2012-01-29 03:16:59 +01:00
Patrick Mylund Nielsen
e5b84e20fc Overflow/underflow tests 2012-01-04 10:48:21 +01:00
Patrick Mylund Nielsen
ac4bda9dea BenchmarkCacheSetDeleteSingleLock to get an idea of mutex impact 2012-01-04 10:06:31 +01:00
Patrick Mylund Nielsen
e46251e025 A few benchmarks vs. normal maps 2012-01-04 09:55:32 +01:00
Patrick Mylund Nielsen
9e6775b151 Back to weekly 2012-01-04 09:11:27 +01:00
Patrick Mylund Nielsen
62a061f1f4 Add/Replace atomicity for r60.3 2012-01-04 09:09:39 +01:00
Patrick Mylund Nielsen
c6060554ee Back to following weekly 2012-01-04 08:07:50 +01:00