-
Notifications
You must be signed in to change notification settings - Fork 374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
z: use MemHashString and xxhash.Sum64String #153
Conversation
$ go test -v -run='^$' -bench=. -benchmem -count 10 ./... $ benchstat -geomean old.txt new.txt name old time/op new time/op delta pkg:github.com/dgraph-io/ristretto goos:darwin goarch:amd64 SketchIncrement-16 10.4ns ± 6% 8.4ns ± 3% -18.84% (p=0.000 n=10+10) SketchEstimate-16 11.7ns ± 6% 9.8ns ± 6% -16.26% (p=0.000 n=10+10) StoreGet-16 66.3ns ± 8% 55.6ns ± 9% -16.20% (p=0.000 n=10+9) StoreSet-16 307ns ± 3% 297ns ± 6% ~ (p=0.062 n=9+10) StoreUpdate-16 294ns ± 6% 281ns ±10% ~ (p=0.101 n=10+10) pkg:github.com/dgraph-io/ristretto/z goos:darwin goarch:amd64 M_New-16 17.1µs ± 4% 16.9µs ± 8% ~ (p=0.971 n=10+10) M_Clear-16 2.31µs ± 6% 2.06µs ± 7% -10.65% (p=0.000 n=10+10) M_Add-16 1.96ms ± 2% 1.89ms ± 5% -3.61% (p=0.004 n=10+10) M_Has-16 1.84ms ± 9% 1.81ms ± 8% ~ (p=0.529 n=10+10) MemHash-16 6.26ns ± 2% 6.25ns ± 8% ~ (p=0.858 n=9+10) MemHashString-16 10.3ns ± 2% 10.3ns ± 4% ~ (p=0.661 n=10+10) Sip-16 40.1ns ± 5% 38.5ns ± 6% -4.04% (p=0.016 n=10+10) Farm-16 7.95ns ± 4% 7.28ns ± 6% -8.37% (p=0.000 n=10+9) Fnv-16 54.1ns ± 2% 52.8ns ± 6% ~ (p=0.106 n=8+10) NanoTime-16 32.9ns ± 3% 31.8ns ± 4% -3.50% (p=0.003 n=9+10) CPUTicks-16 10.7ns ± 6% 10.6ns ± 5% ~ (p=0.421 n=10+10) FastRand-16 0.50ns ±18% 0.47ns ±20% ~ (p=0.271 n=10+10) RandSource-16 1.34ns ±12% 1.29ns ±10% ~ (p=0.322 n=9+10) RandGlobal-16 84.0ns ± 6% 80.0ns ± 3% -4.71% (p=0.000 n=9+9) RandAtomic-16 25.1ns ± 2% 23.2ns ± 5% -7.65% (p=0.000 n=10+10) [Geo mean] 109ns 102ns -6.04% name old speed new speed delta pkg:github.com/dgraph-io/ristretto goos:darwin goarch:amd64 SketchIncrement-16 96.5MB/s ± 6% 118.8MB/s ± 3% +23.12% (p=0.000 n=10+10) SketchEstimate-16 85.7MB/s ± 6% 102.5MB/s ± 6% +19.58% (p=0.000 n=10+10) StoreGet-16 15.1MB/s ± 9% 17.7MB/s ±17% +17.09% (p=0.000 n=10+10) StoreSet-16 3.26MB/s ± 3% 3.37MB/s ± 7% ~ (p=0.083 n=9+10) StoreUpdate-16 3.40MB/s ± 6% 3.58MB/s ±10% ~ (p=0.109 n=10+10) pkg:github.com/dgraph-io/ristretto/z goos:darwin goarch:amd64 MemHash-16 10.2GB/s ± 2% 10.3GB/s ± 8% ~ (p=0.905 n=9+10) MemHashString-16 11.9GB/s ± 2% 12.0GB/s ± 4% ~ (p=0.739 n=10+10) [Geo mean] 108MB/s 118MB/s +9.51% name old alloc/op new alloc/op delta pkg:github.com/dgraph-io/ristretto goos:darwin goarch:amd64 SketchIncrement-16 0.00B 0.00B ~ (all equal) SketchEstimate-16 0.00B 0.00B ~ (all equal) StoreGet-16 0.00B 0.00B ~ (all equal) StoreSet-16 80.0B ± 0% 80.0B ± 0% ~ (all equal) StoreUpdate-16 80.0B ± 0% 80.0B ± 0% ~ (all equal) pkg:github.com/dgraph-io/ristretto/z goos:darwin goarch:amd64 M_New-16 131kB ± 0% 131kB ± 0% ~ (all equal) M_Clear-16 0.00B 0.00B ~ (all equal) M_Add-16 0.00B 0.00B ~ (all equal) M_Has-16 0.00B 0.00B ~ (all equal) MemHash-16 0.00B 0.00B ~ (all equal) MemHashString-16 0.00B 0.00B ~ (all equal) Sip-16 0.00B 0.00B ~ (all equal) Farm-16 0.00B 0.00B ~ (all equal) Fnv-16 0.00B 0.00B ~ (all equal) NanoTime-16 0.00B 0.00B ~ (all equal) CPUTicks-16 0.00B 0.00B ~ (all equal) FastRand-16 0.00B 0.00B ~ (all equal) RandSource-16 0.00B 0.00B ~ (all equal) RandGlobal-16 0.00B 0.00B ~ (all equal) RandAtomic-16 0.00B 0.00B ~ (all equal) [Geo mean] 943B 943B +0.00% name old allocs/op new allocs/op delta pkg:github.com/dgraph-io/ristretto goos:darwin goarch:amd64 SketchIncrement-16 0.00 0.00 ~ (all equal) SketchEstimate-16 0.00 0.00 ~ (all equal) StoreGet-16 0.00 0.00 ~ (all equal) StoreSet-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) StoreUpdate-16 1.00 ± 0% 1.00 ± 0% ~ (all equal) pkg:github.com/dgraph-io/ristretto/z goos:darwin goarch:amd64 M_New-16 2.00 ± 0% 2.00 ± 0% ~ (all equal) M_Clear-16 0.00 0.00 ~ (all equal) M_Add-16 0.00 0.00 ~ (all equal) M_Has-16 0.00 0.00 ~ (all equal) MemHash-16 0.00 0.00 ~ (all equal) MemHashString-16 0.00 0.00 ~ (all equal) Sip-16 0.00 0.00 ~ (all equal) Farm-16 0.00 0.00 ~ (all equal) Fnv-16 0.00 0.00 ~ (all equal) NanoTime-16 0.00 0.00 ~ (all equal) CPUTicks-16 0.00 0.00 ~ (all equal) FastRand-16 0.00 0.00 ~ (all equal) RandSource-16 0.00 0.00 ~ (all equal) RandGlobal-16 0.00 0.00 ~ (all equal) RandAtomic-16 0.00 0.00 ~ (all equal) [Geo mean] 1.26 1.26 +0.00%
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll get this approved by @manishrjain and merge it if he approves.
Reviewed 2 of 2 files at r1.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @jarifibrahim, @karlmcguire, and @manishrjain)
@jarifibrahim, @karlmcguire, @manishrjain |
@martinmr sorry, any progress? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zchee Apologies for the delay in review. This is a great improvement. I'll get it reviewed and merged today. Thank you for fixing it 🎉
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @jarifibrahim, @karlmcguire, and @manishrjain)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay. This wasn't brought to my attention earlier. Thanks for your contribution, @zchee .
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @karlmcguire and @manishrjain)
@zchee Merged to master 🎉 💯 |
The update brings following changes from ristretto into badger ``` f66de99 Improve handling of updated items (dgraph-io/ristretto#168) aec7994 Fix flaky TestCacheDel test (dgraph-io/ristretto#169) a093fe6 Add benchmark plots to the project repo (dgraph-io/ristretto#166) 49dc42c Add Anurag as codeowner (dgraph-io/ristretto#158) 7a3f2d3 z: use MemHashString and xxhash.Sum64String (dgraph-io/ristretto#153) 9c31bb2 Check conflict key before updating expiration map. (dgraph-io/ristretto#154) 62cb731 Fix race condition in Cache.Clear (dgraph-io/ristretto#133) 9af1934 Docs and whitespace changes for readability. (dgraph-io/ristretto#143) dbc185e Add changelog. (dgraph-io/ristretto#142) ff325ad Remove key from policy after TTL eviction (dgraph-io/ristretto#130) 2dd5ff5 Use the require library in all the tests. (dgraph-io/ristretto#128) 7c48141 Use require in all tests in cache_test.go (dgraph-io/ristretto#127) 51e97ad Sets with TTL (dgraph-io/ristretto#122) d3e7c37 Add benchmarks for math.rand and fastrand (dgraph-io/ristretto#118) 593823e Integrate fixes from PR dgraph-io/ristretto#91. (dgraph-io/ristretto#126) 29b4dd7 Fix comments. (dgraph-io/ristretto#123) ddf345c Removed workflows directory. (dgraph-io/ristretto#124) eb104d0 Add martinmr to CODEOWNERS file. (dgraph-io/ristretto#125) ```
The update brings following changes from ristretto into badger ``` f66de99 Improve handling of updated items (dgraph-io/ristretto#168) aec7994 Fix flaky TestCacheDel test (dgraph-io/ristretto#169) a093fe6 Add benchmark plots to the project repo (dgraph-io/ristretto#166) 49dc42c Add Anurag as codeowner (dgraph-io/ristretto#158) 7a3f2d3 z: use MemHashString and xxhash.Sum64String (dgraph-io/ristretto#153) 9c31bb2 Check conflict key before updating expiration map. (dgraph-io/ristretto#154) 62cb731 Fix race condition in Cache.Clear (dgraph-io/ristretto#133) 9af1934 Docs and whitespace changes for readability. (dgraph-io/ristretto#143) dbc185e Add changelog. (dgraph-io/ristretto#142) ff325ad Remove key from policy after TTL eviction (dgraph-io/ristretto#130) 2dd5ff5 Use the require library in all the tests. (dgraph-io/ristretto#128) 7c48141 Use require in all tests in cache_test.go (dgraph-io/ristretto#127) 51e97ad Sets with TTL (dgraph-io/ristretto#122) d3e7c37 Add benchmarks for math.rand and fastrand (dgraph-io/ristretto#118) 593823e Integrate fixes from PR dgraph-io/ristretto#91. (dgraph-io/ristretto#126) 29b4dd7 Fix comments. (dgraph-io/ristretto#123) ddf345c Removed workflows directory. (dgraph-io/ristretto#124) eb104d0 Add martinmr to CODEOWNERS file. (dgraph-io/ristretto#125) ``` (cherry picked from commit 09dfa66)
The update brings following changes from ristretto into badger ``` f66de99 Improve handling of updated items (dgraph-io/ristretto#168) aec7994 Fix flaky TestCacheDel test (dgraph-io/ristretto#169) a093fe6 Add benchmark plots to the project repo (dgraph-io/ristretto#166) 49dc42c Add Anurag as codeowner (dgraph-io/ristretto#158) 7a3f2d3 z: use MemHashString and xxhash.Sum64String (dgraph-io/ristretto#153) 9c31bb2 Check conflict key before updating expiration map. (dgraph-io/ristretto#154) 62cb731 Fix race condition in Cache.Clear (dgraph-io/ristretto#133) 9af1934 Docs and whitespace changes for readability. (dgraph-io/ristretto#143) dbc185e Add changelog. (dgraph-io/ristretto#142) ff325ad Remove key from policy after TTL eviction (dgraph-io/ristretto#130) 2dd5ff5 Use the require library in all the tests. (dgraph-io/ristretto#128) 7c48141 Use require in all tests in cache_test.go (dgraph-io/ristretto#127) 51e97ad Sets with TTL (dgraph-io/ristretto#122) d3e7c37 Add benchmarks for math.rand and fastrand (dgraph-io/ristretto#118) 593823e Integrate fixes from PR dgraph-io/ristretto#91. (dgraph-io/ristretto#126) 29b4dd7 Fix comments. (dgraph-io/ristretto#123) ddf345c Removed workflows directory. (dgraph-io/ristretto#124) eb104d0 Add martinmr to CODEOWNERS file. (dgraph-io/ristretto#125) ```
The update brings following changes from ristretto into badger ``` f66de99 Improve handling of updated items (dgraph-io/ristretto#168) aec7994 Fix flaky TestCacheDel test (dgraph-io/ristretto#169) a093fe6 Add benchmark plots to the project repo (dgraph-io/ristretto#166) 49dc42c Add Anurag as codeowner (dgraph-io/ristretto#158) 7a3f2d3 z: use MemHashString and xxhash.Sum64String (dgraph-io/ristretto#153) 9c31bb2 Check conflict key before updating expiration map. (dgraph-io/ristretto#154) 62cb731 Fix race condition in Cache.Clear (dgraph-io/ristretto#133) 9af1934 Docs and whitespace changes for readability. (dgraph-io/ristretto#143) dbc185e Add changelog. (dgraph-io/ristretto#142) ff325ad Remove key from policy after TTL eviction (dgraph-io/ristretto#130) 2dd5ff5 Use the require library in all the tests. (dgraph-io/ristretto#128) 7c48141 Use require in all tests in cache_test.go (dgraph-io/ristretto#127) 51e97ad Sets with TTL (dgraph-io/ristretto#122) d3e7c37 Add benchmarks for math.rand and fastrand (dgraph-io/ristretto#118) 593823e Integrate fixes from PR dgraph-io/ristretto#91. (dgraph-io/ristretto#126) 29b4dd7 Fix comments. (dgraph-io/ristretto#123) ddf345c Removed workflows directory. (dgraph-io/ristretto#124) eb104d0 Add martinmr to CODEOWNERS file. (dgraph-io/ristretto#125) ```
Use MemHashString and xxhash.Sum64String for
KeyToHash
.This change is