Peng Gao
ebc1ab826e
Add decrement and increment for numberic types
...
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-29 18:58:22 +08:00
Peng Gao
5b06290188
Support zerovalue and fix tests
...
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-27 19:46:10 +08:00
Peng Gao
987311e3b4
Refactor code
...
1. Add benchmark performance in README.md
2. Use an Attr as argument for New to initiate a cache, in this
way, more default settings can be supported.
3. Add fast way for delete method, if no onEvicted callback
function set.
4. Use bool to indicate k existence in Get method to avoid
pointer escape (which leads to memory allocation on heap),
reference link below to get detail information.
https://groups.google.com/forum/#!topic/golang-nuts/1WCWAtOsyDU
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-27 19:42:15 +08:00
Peng Gao
4606d7097e
cachemap: modify go-cache by using certain type
...
Temporaliy use int as ValueType to pass the test.
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-11 11:58:16 +08: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
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
Patrick Mylund Nielsen
1f826dd9de
Compatability with 60.3
2012-01-04 07:54:23 +01:00
Patrick Mylund Nielsen
c84223dab4
Typo
2012-01-02 17:26:17 +01:00
Patrick Mylund Nielsen
746fe067c4
Delete and Flush tests
2012-01-02 14:18:25 +01:00
Patrick Mylund Nielsen
ca7e0d4f78
gofmt and redundant 'if it was enabled'
2012-01-02 14:11:17 +01:00