Andrew Kryczka
e78715c29a
Eliminate a memcpy for uncompressed blocks
...
Summary:
`ReadBlockFromFile` uses a stack buffer to hold small data blocks before passing them to the compression library, which outputs uncompressed data in a heap buffer. In the case of `kNoCompression` there is a `memcpy` to copy from stack buffer to heap buffer.
This PR optimizes `ReadBlockFromFile` to skip the stack buffer for files whose blocks are known to be uncompressed. We determine this using the SST file property, "compression_name", if it's available.
Closes https://github.com/facebook/rocksdb/pull/3472
Differential Revision: D6920848
Pulled By: ajkr
fbshipit-source-id: 5c753e804efc178b9229ae5dbe6a4adc32031f07
2018-02-07 15:57:37 -08:00
..
2017-08-11 12:16:45 -07:00
2017-07-21 18:26:26 -07:00
2017-07-15 16:11:23 -07:00
2017-07-21 18:26:26 -07:00
2017-07-15 16:11:23 -07:00
2018-01-10 15:11:59 -08:00
2017-10-27 15:00:05 -07:00
2018-01-10 15:11:59 -08:00
2018-01-10 15:11:59 -08:00
2018-02-07 15:57:37 -08:00
2018-02-07 15:57:37 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-11 15:27:32 -08:00
2017-12-12 12:12:38 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-01-02 10:41:28 -08:00
2018-01-25 14:57:18 -08:00
2018-01-25 14:57:18 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-01-29 12:56:42 -08:00
2017-10-19 10:57:12 -07:00
2017-07-15 16:11:23 -07:00
2017-07-21 18:26:26 -07:00
2017-07-28 16:27:16 -07:00
2017-12-01 10:42:05 -08:00
2017-12-07 11:57:36 -08:00
2017-07-27 14:30:42 -07:00
2017-08-23 07:56:08 -07:00
2017-07-15 16:11:23 -07:00
2017-12-14 10:27:43 -08:00
2017-12-11 15:27:32 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-21 18:26:26 -07:00
2017-07-21 18:26:26 -07:00
2017-12-12 21:11:33 -08:00
2017-12-12 21:11:33 -08:00
2017-10-19 10:57:12 -07:00
2017-07-21 18:26:26 -07:00
2017-07-21 18:26:26 -07:00
2017-09-11 12:04:21 -07:00
2017-07-15 16:11:23 -07:00
2017-10-12 18:28:24 -07:00
2017-09-11 12:04:21 -07:00
2017-10-11 14:57:43 -07:00
2017-10-11 14:57:43 -07:00
2017-12-11 15:27:32 -08:00
2017-08-11 12:16:45 -07:00
2017-07-27 14:30:42 -07:00
2017-07-27 14:30:42 -07:00
2017-12-12 21:11:33 -08:00
2017-12-12 21:11:33 -08:00
2017-08-23 07:56:08 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-10-04 09:57:23 -07:00
2017-10-19 10:57:12 -07:00
2017-07-15 16:11:23 -07:00
2017-12-07 11:57:36 -08:00
2017-07-21 18:26:26 -07:00
2017-07-15 16:11:23 -07:00
2017-08-11 12:16:45 -07:00
2017-07-27 14:30:42 -07:00
2017-07-15 16:11:23 -07:00
2017-07-21 18:26:26 -07:00
2018-01-22 14:42:18 -08:00
2017-10-27 15:00:05 -07:00
2018-01-10 17:11:58 -08:00
2018-01-10 17:11:58 -08:00
2017-12-01 10:42:05 -08:00
2017-08-09 15:58:13 -07:00
2018-02-06 13:58:18 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00