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