Siying Dong
992dfc7811
Introduce InternalIteratorBase::NextAndGetResult() ( #5197 )
...
Summary:
In long scans, virtual function calls of Next(), Valid(), key() and value() are not trivial. By introducing NextAndGetResult(), Some of the Next(), Valid() and key() calls are consolidated into one virtual function call to reduce CPU.
Also did some inline tricks and add some "final" randomly in some functions. Even without the "final" annotation, most Next() calls are inlined with -O3, but sometimes with a final it is inlined by O2 too. It doesn't hurt to add those final annotations.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5197
Differential Revision: D14945977
Pulled By: siying
fbshipit-source-id: 7003969f9a5f1d5717f0bda503b91d19ba75ed88
2019-04-18 11:12:39 -07:00
..
2019-04-18 10:55:01 -07:00
2019-04-18 10:55:01 -07:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2019-04-10 19:31:18 -07:00
2019-04-10 19:31:18 -07:00
2019-04-10 19:31:18 -07:00
2019-03-27 10:28:21 -07:00
2019-04-18 11:12:39 -07:00
2019-04-18 11:12:39 -07:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2019-01-23 18:15:47 -08:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2019-04-16 11:37:47 -07:00
2019-04-18 11:12:39 -07:00
2017-07-15 16:11:23 -07:00
2019-01-24 10:34:30 -08:00
2017-07-15 16:11:23 -07:00
2018-11-09 11:19:58 -08:00
2018-10-30 15:34:27 -07:00
2017-07-15 16:11:23 -07:00
2018-11-09 11:19:58 -08:00
2018-11-09 11:19:58 -08:00
2018-11-09 11:19:58 -08:00
2019-02-14 14:41:36 -08:00
2018-08-09 16:58:40 -07:00
2018-08-16 18:42:46 -07:00
2018-08-16 18:42:46 -07:00
2019-03-18 12:15:34 -07:00
2018-08-20 23:13:50 -07:00
2018-08-20 23:13:50 -07:00
2019-04-11 14:28:26 -07:00
2019-02-14 14:41:36 -08:00
2019-04-16 11:37:47 -07:00
2019-03-27 16:24:45 -07:00
2019-03-27 16:24:45 -07:00
2018-04-24 10:58:16 -07:00
2019-04-11 14:28:26 -07:00
2019-04-12 10:45:56 -07:00
2019-04-11 14:28:26 -07:00
2019-01-25 17:12:19 -08:00
2019-04-11 14:28:26 -07:00
2018-08-23 10:12:58 -07:00
2018-08-23 10:12:58 -07:00
2019-04-18 11:12:39 -07:00
2017-09-11 12:04:21 -07:00
2019-04-18 11:12:39 -07:00
2019-04-16 20:28:05 -07:00
2019-02-14 14:41:36 -08:00
2019-02-14 14:41:36 -08:00
2018-08-09 16:58:40 -07:00
2019-04-10 19:31:18 -07:00
2019-03-18 12:15:34 -07:00
2018-11-09 11:19:58 -08:00
2018-11-09 11:19:58 -08:00
2019-04-11 14:28:26 -07:00
2019-02-14 14:41:36 -08:00
2018-09-17 17:28:15 -07:00
2018-09-17 17:28:15 -07:00
2018-11-13 17:02:55 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2019-03-01 15:45:45 -08:00
2019-03-01 15:45:45 -08:00
2019-04-18 10:55:01 -07:00
2019-04-18 10:55:01 -07:00
2019-04-04 12:12:11 -07:00
2018-05-21 14:43:11 -07:00
2018-03-05 13:13:41 -08:00
2018-11-09 11:19:58 -08:00
2019-04-18 10:55:01 -07:00
2019-04-18 10:55:01 -07:00
2017-07-15 16:11:23 -07:00
2019-03-26 10:25:18 -07:00
2019-03-26 10:25:18 -07:00
2019-03-26 10:25:18 -07:00
2019-03-18 12:15:34 -07:00
2019-04-10 19:31:18 -07:00
2018-08-09 16:58:40 -07:00
2019-04-10 19:31:18 -07:00
2019-03-18 12:15:34 -07:00
2019-04-11 14:28:26 -07:00
2019-04-16 11:37:47 -07:00
2019-02-14 14:41:36 -08:00
2018-08-09 16:58:40 -07:00