mrambacher
3dff28cf9b
Use SystemClock* instead of std::shared_ptr<SystemClock> in lower level routines ( #8033 )
...
Summary:
For performance purposes, the lower level routines were changed to use a SystemClock* instead of a std::shared_ptr<SystemClock>. The shared ptr has some performance degradation on certain hardware classes.
For most of the system, there is no risk of the pointer being deleted/invalid because the shared_ptr will be stored elsewhere. For example, the ImmutableDBOptions stores the Env which has a std::shared_ptr<SystemClock> in it. The SystemClock* within the ImmutableDBOptions is essentially a "short cut" to gain access to this constant resource.
There were a few classes (PeriodicWorkScheduler?) where the "short cut" property did not hold. In those cases, the shared pointer was preserved.
Using db_bench readrandom perf_level=3 on my EC2 box, this change performed as well or better than 6.17:
6.17: readrandom : 28.046 micros/op 854902 ops/sec; 61.3 MB/s (355999 of 355999 found)
6.18: readrandom : 32.615 micros/op 735306 ops/sec; 52.7 MB/s (290999 of 290999 found)
PR: readrandom : 27.500 micros/op 871909 ops/sec; 62.5 MB/s (367999 of 367999 found)
(Note that the times for 6.18 are prior to revert of the SystemClock).
Pull Request resolved: https://github.com/facebook/rocksdb/pull/8033
Reviewed By: pdillinger
Differential Revision: D27014563
Pulled By: mrambacher
fbshipit-source-id: ad0459eba03182e454391b5926bf5cdd45657b67
2021-03-15 04:34:11 -07:00
..
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-12-04 21:29:38 -08:00
2020-12-04 21:29:38 -08:00
2021-03-15 04:34:11 -07:00
2020-11-12 18:44:34 -08:00
2021-03-09 20:44:23 -08:00
2021-02-19 14:09:54 -08:00
2021-01-15 16:56:41 -08:00
2021-03-15 04:34:11 -07:00
2021-03-09 02:21:25 -08:00
2020-12-22 23:45:58 -08:00
2020-10-01 19:14:14 -07:00
2020-12-22 14:53:43 -08:00
2020-10-28 23:22:27 -07:00
2020-05-12 18:23:33 -07:00
2021-02-22 22:09:22 -08:00
2021-02-06 22:34:30 -08:00
2021-01-06 10:49:32 -08:00
2020-12-09 21:21:16 -08:00
2021-02-06 22:34:30 -08:00
2021-01-06 14:15:02 -08:00
2021-03-14 20:25:42 -07:00
2021-01-25 22:09:11 -08:00
2021-01-09 09:44:34 -08:00
2020-09-10 22:35:25 -07:00
2021-03-02 09:48:00 -08:00
2021-01-19 13:47:48 -08:00
2020-06-15 10:47:02 -07:00
2020-08-17 18:42:25 -07:00
2021-01-06 14:15:02 -08:00
2020-12-04 21:29:38 -08:00
2020-12-22 23:45:58 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-03-12 12:31:29 -08:00
2021-01-29 12:18:58 -08:00
2021-01-25 22:09:11 -08:00
2020-12-09 21:21:16 -08:00
2021-01-29 12:18:58 -08:00
2020-12-08 15:55:04 -08:00
2020-12-08 15:55:04 -08:00
2021-02-19 10:29:02 -08:00
2020-10-27 10:33:09 -07:00
2020-12-22 15:09:39 -08:00
2021-01-11 15:01:52 -08:00
2020-12-22 23:45:58 -08:00
2020-12-22 23:45:58 -08:00
2021-01-06 14:15:02 -08:00
2021-03-08 14:47:56 -08:00
2021-03-09 12:42:53 -08:00
2021-01-25 22:09:11 -08:00
2021-03-12 16:44:35 -08:00
2021-02-06 22:34:30 -08:00
2021-03-02 09:48:00 -08:00
2021-03-10 11:15:46 -08:00
2020-08-17 18:42:25 -07:00
2020-12-22 15:09:39 -08:00
2020-10-28 23:22:27 -07:00
2020-12-02 13:00:53 -08:00
2021-03-10 11:15:46 -08:00
2020-12-22 15:09:39 -08:00
2021-02-15 09:45:23 -08:00
2021-03-15 04:34:11 -07:00
2020-12-07 20:11:35 -08:00
2021-01-06 14:15:02 -08:00
2020-08-25 10:46:11 -07:00
2020-02-20 12:09:57 -08:00
2020-12-09 21:21:16 -08:00
2021-01-25 22:09:11 -08:00
2021-03-15 04:34:11 -07:00
2020-12-22 15:09:39 -08:00
2020-12-22 23:45:58 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2021-02-23 14:35:06 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-03-09 20:53:33 -08:00
2020-04-15 17:40:44 -07:00
2021-01-25 22:09:11 -08:00
2021-03-15 04:34:11 -07:00
2020-12-23 16:55:53 -08:00
2021-03-04 00:43:48 -08:00
2021-03-15 04:34:11 -07:00
2020-05-04 15:08:13 -07:00
2021-01-29 12:18:58 -08:00
2020-12-22 23:45:58 -08:00
2020-02-20 12:09:57 -08:00
2020-11-30 18:11:38 -08:00
2020-08-26 10:39:20 -07:00
2021-01-04 16:01:01 -08:00
2020-12-23 16:55:53 -08:00
2020-03-27 16:04:43 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-12-22 23:45:58 -08:00
2021-02-06 22:34:30 -08:00
2020-12-14 13:48:22 -08:00
2020-12-14 13:48:22 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2021-01-21 13:13:02 -08:00
2021-03-12 16:44:35 -08:00
2020-12-23 16:55:53 -08:00
2020-11-10 23:42:13 -08:00
2020-11-10 23:42:13 -08:00
2021-03-15 04:34:11 -07:00
2021-01-25 22:09:11 -08:00
2021-03-15 04:34:11 -07:00
2021-01-25 22:09:11 -08:00
2020-02-20 12:09:57 -08:00
2021-01-04 16:01:01 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-10-28 10:12:58 -07:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-08-14 19:20:58 -07:00
2021-01-06 10:49:32 -08:00
2021-03-15 04:34:11 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2020-08-27 11:21:52 -07:00
2021-01-04 16:01:01 -08:00
2020-10-28 10:12:58 -07:00
2020-02-20 12:09:57 -08:00
2020-12-22 23:45:58 -08:00
2020-08-12 17:31:23 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-10-28 23:22:27 -07:00
2020-12-14 14:07:52 -08:00
2020-06-09 16:51:23 -07:00
2021-03-10 10:59:44 -08:00
2021-03-10 10:59:44 -08:00
2021-01-19 19:27:53 -08:00
2021-01-20 20:29:04 -08:00
2021-01-27 18:46:15 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-12-09 16:02:12 -08:00
2020-12-09 16:02:12 -08:00
2020-12-09 16:02:12 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2020-08-12 17:31:23 -07:00
2020-02-20 12:09:57 -08:00
2021-01-29 12:18:58 -08:00
2020-12-08 15:55:04 -08:00
2021-03-15 04:34:11 -07:00
2020-12-22 23:45:58 -08:00
2020-02-20 12:09:57 -08:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-03-15 04:34:11 -07:00
2021-01-29 12:18:58 -08:00
2021-01-29 12:18:58 -08:00