Peng Gao
4378c9a40e
Fix type finding bugs and add zero vaule for func
...
1. In the main loop to find typeName, it will
continue find type if a type has been already found,
which will make empty string overwite it latter,
so if it is found first time, assuming this is the
type we want, and break out the loop.
2. Add support for zero value for func type.
3. If the type not a builtin type (*ast.Ident),
assuming it is a composite structure, like
*ast.StructType.
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-31 12:28:51 +08:00
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
3cceb4fab0
Update README, ci, pa
...
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-27 20:00:58 +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
96d0b686a8
Update LICENSE and CONTRIBUTORS
...
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-26 14:05:15 +08:00
Peng Gao
96eafc2dcd
Add generator for code
...
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2016-08-11 16:42:28 +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
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
Fabian Ruff
fe045e4040
Fix leaking the janitor ticker when shutting down
2015-10-13 12:55:54 +02:00
Patrick Mylund Nielsen
93d85800f2
README.md: Add missing 'time' import to example
2015-03-03 09:09:38 -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
e3a846e1f9
Clarify what NoExpiration and DefaultExpiration are
2014-12-22 02:47:08 -05:00
Patrick Mylund Nielsen
a1dd6b7fff
s/NewFrom/NewFrom()/ in NewFrom doc
2014-12-22 02:39:59 -05:00
Patrick Mylund Nielsen
9ea75a8586
s/NewFrom/NewFrom()/ in Load/LoadFile/Save/SaveFile docs
2014-12-22 02:37:46 -05:00
Patrick Mylund Nielsen
873e78f0db
s/gob.Register/gob.Register()/ in NewFrom doc
2014-12-22 02:30:02 -05:00
Patrick Mylund Nielsen
bc36de7dec
Clarify NewFrom documentation on use cases
2014-12-22 02:15:12 -05:00
Patrick Mylund Nielsen
d68800e607
s/with the same caveats/subject to the same caveat/ in NewFrom doc
2014-12-22 02:09:42 -05:00