Islam AbdelRahman
f5177c761f
Remove wasteful instrumentation in FullMerge (stacked on D59577)
Summary:
[ This diff is stacked on top of D59577 ]
We keep calling timer.ElapsedNanos() on every call to MergeOperator::FullMerge even when statistics are disabled, this is wasteful.
I run the readseq benchmark on a DB containing 100K merge operands for 100K keys (1 operand per key) with 1GB block cache
I see slight performance improvment
Original results
```
$ ./db_bench --benchmarks="readseq,readseq,readseq,readseq,readseq,readseq,readseq,readseq,readseq" --merge_operator="max" --merge_keys=100000 --num=100000 --db="/dev/shm/100K_merge_compacted/" --cache_size=1073741824 --use_existing_db --disable_auto_compactions
------------------------------------------------
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.498 micros/op 2006597 ops/sec; 222.0 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.295 micros/op 3393627 ops/sec; 375.4 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.285 micros/op 3511155 ops/sec; 388.4 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.286 micros/op 3500470 ops/sec; 387.2 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.283 micros/op 3530751 ops/sec; 390.6 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.289 micros/op 3464811 ops/sec; 383.3 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.277 micros/op 3612814 ops/sec; 399.7 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.283 micros/op 3539640 ops/sec; 391.6 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.285 micros/op 3503766 ops/sec; 387.6 MB/s
```
After patch
```
$ ./db_bench --benchmarks="readseq,readseq,readseq,readseq,readseq,readseq,readseq,readseq,readseq" --merge_operator="max" --merge_keys=100000 --num=100000 --db="/dev/shm/100K_merge_compacted/" --cache_size=1073741824 --use_existing_db --disable_auto_compactions
------------------------------------------------
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.476 micros/op 2100119 ops/sec; 232.3 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.278 micros/op 3600887 ops/sec; 398.4 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.275 micros/op 3636698 ops/sec; 402.3 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.271 micros/op 3691661 ops/sec; 408.4 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.273 micros/op 3661534 ops/sec; 405.1 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.276 micros/op 3627106 ops/sec; 401.3 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.272 micros/op 3682635 ops/sec; 407.4 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.266 micros/op 3758331 ops/sec; 415.8 MB/s
DB path: [/dev/shm/100K_merge_compacted/]
readseq : 0.266 micros/op 3761907 ops/sec; 416.2 MB/s
```
Test Plan: make check -j64
Reviewers: yhchiang, sdong
Reviewed By: sdong
Subscribers: andrewkr, dhruba
Differential Revision: https://reviews.facebook.net/D59583
2016-06-13 16:22:14 -07:00
..
2016-05-20 07:42:18 -07:00
2016-05-20 07:42:18 -07:00
2016-02-22 21:32:19 -08:00
2016-05-17 13:11:56 -07:00
2016-05-17 13:11:56 -07:00
2016-04-27 17:36:03 -07:00
2016-06-10 12:12:10 -07:00
2016-06-07 18:04:15 -07:00
2016-06-10 12:12:10 -07:00
2016-04-29 17:00:50 -07:00
2016-02-22 13:54:58 -08:00
2016-04-26 14:22:07 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-04-16 01:47:15 -07:00
2016-03-24 19:36:39 -07:00
2016-04-19 22:54:24 -07:00
2016-02-17 15:20:23 -08:00
2016-05-17 13:11:56 -07:00
2016-05-17 13:11:56 -07:00
2016-05-23 15:55:29 -07:00
2016-05-23 15:55:29 -07:00
2016-05-17 13:11:56 -07:00
2016-05-17 13:11:56 -07:00
2016-04-28 02:30:44 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-04-28 17:50:58 -07:00
2016-02-09 15:12:00 -08:00
2016-06-13 11:34:16 -07:00
2016-06-10 16:27:56 -07:00
2016-03-31 17:12:18 -07:00
2016-04-28 17:50:58 -07:00
2016-05-26 10:13:24 -07:00
2016-06-09 19:03:10 -07:00
2016-05-17 13:11:56 -07:00
2016-05-23 15:55:29 -07:00
2016-03-02 16:23:59 -08:00
2016-02-09 15:12:00 -08:00
2016-06-13 11:34:16 -07:00
2016-06-09 19:03:10 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-03-31 17:12:18 -07:00
2016-05-18 17:09:20 -07:00
2016-03-02 16:23:59 -08:00
2016-06-13 16:17:26 -07:00
2016-04-26 12:41:07 -07:00
2016-05-09 11:52:28 -07:00
2016-02-09 15:12:00 -08:00
2016-04-25 23:02:14 -07:00
2016-05-17 13:11:56 -07:00
2016-04-06 23:10:32 -07:00
2016-03-04 18:15:29 -08:00
2016-05-18 14:56:30 -07:00
2016-04-28 17:50:58 -07:00
2016-05-09 11:52:28 -07:00
2016-06-09 19:03:10 -07:00
2016-04-22 16:49:12 -07:00
2016-06-13 11:34:16 -07:00
2016-04-25 23:02:14 -07:00
2016-02-09 15:12:00 -08:00
2016-05-10 14:06:07 -07:00
2016-02-29 12:56:55 -08:00
2016-04-29 11:35:00 -07:00
2016-04-29 11:35:00 -07:00
2016-02-09 15:12:00 -08:00
2016-05-10 14:06:07 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-04-15 10:22:18 -07:00
2016-06-01 11:11:33 -07:00
2016-04-15 10:22:18 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-03-04 18:15:29 -08:00
2016-03-02 16:23:59 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-04-25 13:56:59 -07:00
2016-04-25 13:56:59 -07:00
2016-03-10 18:16:21 -08:00
2016-06-02 11:57:31 -07:00
2016-02-09 15:12:00 -08:00
2016-05-22 22:00:15 -07:00
2016-05-22 22:00:15 -07:00
2016-05-22 22:00:15 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-03-16 22:57:57 +01:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-05-10 14:06:07 -07:00
2016-05-10 14:06:07 -07:00
2016-06-13 16:17:26 -07:00
2016-06-10 12:12:10 -07:00
2016-02-09 15:12:00 -08:00
2016-04-01 15:48:55 -07:00
2016-02-09 15:12:00 -08:00
2016-06-13 16:22:14 -07:00
2016-06-13 16:17:26 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-04-26 14:22:07 -07:00
2016-04-26 12:41:07 -07:00
2016-04-06 23:10:32 -07:00
2016-06-10 12:12:10 -07:00
2016-03-18 15:18:42 -07:00
2016-05-17 13:11:56 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-05-04 15:25:58 -07:00
2016-05-04 15:25:58 -07:00
2016-05-19 14:24:48 -07:00
2016-05-19 14:24:48 -07:00
2016-05-19 14:24:48 -07:00
2016-05-20 07:42:18 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-04-01 10:42:39 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-06-13 16:17:26 -07:00
2016-06-10 12:12:10 -07:00
2016-02-09 15:12:00 -08:00
2016-03-30 23:05:22 +05:30
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-05-10 14:06:07 -07:00
2016-05-10 14:06:07 -07:00
2016-06-13 16:17:26 -07:00
2016-04-18 10:18:41 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-05-10 14:06:07 -07:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00
2016-02-09 15:12:00 -08:00