Skip to content

Instantly share code, notes, and snippets.

@vertexclique
Created June 7, 2020 10:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vertexclique/cf5e07f53992797e222b134da8fec2e9 to your computer and use it in GitHub Desktop.
Save vertexclique/cf5e07f53992797e222b134da8fec2e9 to your computer and use it in GitHub Desktop.
Lever's HOPTable vs Arc<RwLock> implementation
=========== RwLock =============
Jun 07 12:06:40.728 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: generating operation mix
Jun 07 12:06:40.729 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: generating key space
Jun 07 12:06:40.912 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: constructing initial table
Jun 07 12:06:40.941 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: start workload mix
Jun 07 12:06:45.524 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: workload mix finished took=4.582992212s ops=25165824 avg=181ns
25165824 operations across 1 thread(s) in 4.582992212s; time/op = 181ns
Jun 07 12:06:45.600 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: generating operation mix
Jun 07 12:06:45.600 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: generating key space
Jun 07 12:06:45.708 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: constructing initial table
Jun 07 12:06:45.737 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: start workload mix
Jun 07 12:06:57.947 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: workload mix finished took=12.209002779s ops=25165824 avg=484ns
25165824 operations across 2 thread(s) in 12.209002779s; time/op = 484ns
Jun 07 12:06:58.029 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: generating operation mix
Jun 07 12:06:58.029 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: generating key space
Jun 07 12:06:58.134 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: constructing initial table
Jun 07 12:06:58.163 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: start workload mix
Jun 07 12:07:11.255 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: workload mix finished took=13.092113667s ops=25165824 avg=519ns
25165824 operations across 3 thread(s) in 13.092113667s; time/op = 519ns
Jun 07 12:07:11.372 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: generating operation mix
Jun 07 12:07:11.372 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: generating key space
Jun 07 12:07:11.435 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: constructing initial table
Jun 07 12:07:11.464 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: start workload mix
Jun 07 12:07:25.041 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: workload mix finished took=13.576099084s ops=25165824 avg=538ns
25165824 operations across 4 thread(s) in 13.576099084s; time/op = 538ns
Jun 07 12:07:25.138 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: generating operation mix
Jun 07 12:07:25.138 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: generating key space
Jun 07 12:07:25.196 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: constructing initial table
Jun 07 12:07:25.227 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: start workload mix
Jun 07 12:07:39.651 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: workload mix finished took=14.423088345s ops=25165824 avg=572ns
25165824 operations across 5 thread(s) in 14.423088345s; time/op = 572ns
Jun 07 12:07:39.747 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: generating operation mix
Jun 07 12:07:39.747 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: generating key space
Jun 07 12:07:39.811 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: constructing initial table
Jun 07 12:07:39.843 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: start workload mix
Jun 07 12:07:57.002 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: workload mix finished took=17.158501531s ops=25165824 avg=681ns
25165824 operations across 6 thread(s) in 17.158501531s; time/op = 681ns
Jun 07 12:07:57.105 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: generating operation mix
Jun 07 12:07:57.105 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: generating key space
Jun 07 12:07:57.172 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: constructing initial table
Jun 07 12:07:57.205 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: start workload mix
Jun 07 12:08:17.254 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: workload mix finished took=20.047702844s ops=25165824 avg=795ns
25165824 operations across 7 thread(s) in 20.047702844s; time/op = 795ns
Jun 07 12:08:17.352 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: generating operation mix
Jun 07 12:08:17.352 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: generating key space
Jun 07 12:08:17.393 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: constructing initial table
Jun 07 12:08:17.427 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: start workload mix
Jun 07 12:08:38.494 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: workload mix finished took=21.066304222s ops=25165824 avg=836ns
25165824 operations across 8 thread(s) in 21.066304222s; time/op = 836ns
=========== HOPTable =============
Jun 07 12:08:38.593 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: generating operation mix
Jun 07 12:08:38.593 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: generating key space
Jun 07 12:08:38.772 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: constructing initial table
Jun 07 12:08:50.153 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: start workload mix
Jun 07 12:09:08.852 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=1}: bustle: workload mix finished took=18.698339633s ops=25165824 avg=742ns
25165824 operations across 1 thread(s) in 18.698339633s; time/op = 742ns
Jun 07 12:09:26.312 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: generating operation mix
Jun 07 12:09:26.312 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: generating key space
Jun 07 12:09:26.430 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: constructing initial table
Jun 07 12:09:36.691 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: start workload mix
Jun 07 12:09:43.521 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=2}: bustle: workload mix finished took=6.830070114s ops=25165824 avg=270ns
25165824 operations across 2 thread(s) in 6.830070114s; time/op = 270ns
Jun 07 12:10:00.183 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: generating operation mix
Jun 07 12:10:00.183 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: generating key space
Jun 07 12:10:00.288 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: constructing initial table
Jun 07 12:10:10.463 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: start workload mix
Jun 07 12:10:14.504 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=3}: bustle: workload mix finished took=4.040215034s ops=25165824 avg=159ns
25165824 operations across 3 thread(s) in 4.040215034s; time/op = 159ns
Jun 07 12:10:30.907 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: generating operation mix
Jun 07 12:10:30.907 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: generating key space
Jun 07 12:10:30.971 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: constructing initial table
Jun 07 12:10:41.555 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: start workload mix
Jun 07 12:10:44.538 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=4}: bustle: workload mix finished took=2.982225683s ops=25165824 avg=118ns
25165824 operations across 4 thread(s) in 2.982225683s; time/op = 118ns
Jun 07 12:11:00.988 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: generating operation mix
Jun 07 12:11:00.988 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: generating key space
Jun 07 12:11:01.054 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: constructing initial table
Jun 07 12:11:11.380 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: start workload mix
Jun 07 12:11:14.170 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=5}: bustle: workload mix finished took=2.789438753s ops=25165824 avg=110ns
25165824 operations across 5 thread(s) in 2.789438753s; time/op = 110ns
Jun 07 12:11:30.377 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: generating operation mix
Jun 07 12:11:30.377 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: generating key space
Jun 07 12:11:30.437 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: constructing initial table
Jun 07 12:11:40.984 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: start workload mix
Jun 07 12:11:43.273 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=6}: bustle: workload mix finished took=2.289344604s ops=25165824 avg=90ns
25165824 operations across 6 thread(s) in 2.289344604s; time/op = 90ns
Jun 07 12:11:59.431 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: generating operation mix
Jun 07 12:11:59.431 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: generating key space
Jun 07 12:11:59.493 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: constructing initial table
Jun 07 12:12:09.765 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: start workload mix
Jun 07 12:12:12.102 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=7}: bustle: workload mix finished took=2.33692148s ops=25165824 avg=92ns
25165824 operations across 7 thread(s) in 2.33692148s; time/op = 92ns
Jun 07 12:12:28.580 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: generating operation mix
Jun 07 12:12:28.580 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: generating key space
Jun 07 12:12:28.618 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: constructing initial table
Jun 07 12:12:38.898 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: start workload mix
Jun 07 12:12:40.876 INFO benchmark{mix=Mix { read: 94, insert: 2, remove: 1, update: 3, upsert: 0 } threads=8}: bustle: workload mix finished took=1.97796149s ops=25165824 avg=77ns
25165824 operations across 8 thread(s) in 1.97796149s; time/op = 77ns
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment