Commit 4db8d47
Optimize PagedInputStream::Skip (facebookincubator#6699)
Summary:
Pull Request resolved: facebookincubator#6699
Currently when we skip bytes in `PagedInputStream`, we do the decompression unconditionally and it is expensive. Some optimizations are added to address this:
1. Skip decompression of the whole block (frame in case of ZSTD) if
1. We can get the precise decompressed size, and
2. The decompressed size is no larger than the bytes need to skip
2. Accumulate contiguous skip calls to create larger skip region (delayed skipping)
Reviewed By: oerling
Differential Revision: D49501856
fbshipit-source-id: 07241aaf71e83f0f491050a9be6075dd5500dd521 parent 00cfe77 commit 4db8d47
File tree
5 files changed
+178
-54
lines changed- velox/dwio
- common/compression
- dwrf/test
5 files changed
+178
-54
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
249 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
250 | 254 | | |
251 | 255 | | |
252 | 256 | | |
253 | 257 | | |
254 | 258 | | |
255 | 259 | | |
256 | 260 | | |
257 | | - | |
258 | | - | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
259 | 267 | | |
260 | 268 | | |
261 | 269 | | |
262 | 270 | | |
263 | 271 | | |
264 | 272 | | |
265 | 273 | | |
266 | | - | |
| 274 | + | |
267 | 275 | | |
268 | 276 | | |
269 | 277 | | |
| |||
273 | 281 | | |
274 | 282 | | |
275 | 283 | | |
276 | | - | |
| 284 | + | |
277 | 285 | | |
278 | 286 | | |
279 | 287 | | |
280 | 288 | | |
281 | 289 | | |
282 | 290 | | |
283 | 291 | | |
284 | | - | |
| 292 | + | |
285 | 293 | | |
286 | 294 | | |
287 | 295 | | |
288 | 296 | | |
289 | 297 | | |
290 | 298 | | |
291 | | - | |
| 299 | + | |
292 | 300 | | |
293 | 301 | | |
294 | 302 | | |
| |||
304 | 312 | | |
305 | 313 | | |
306 | 314 | | |
307 | | - | |
308 | | - | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
309 | 318 | | |
310 | 319 | | |
311 | 320 | | |
312 | 321 | | |
313 | 322 | | |
314 | 323 | | |
315 | 324 | | |
316 | | - | |
| 325 | + | |
317 | 326 | | |
318 | 327 | | |
319 | 328 | | |
| |||
322 | 331 | | |
323 | 332 | | |
324 | 333 | | |
325 | | - | |
| 334 | + | |
326 | 335 | | |
327 | 336 | | |
328 | 337 | | |
329 | 338 | | |
330 | 339 | | |
331 | 340 | | |
332 | | - | |
| 341 | + | |
333 | 342 | | |
334 | 343 | | |
335 | 344 | | |
336 | 345 | | |
337 | 346 | | |
338 | 347 | | |
339 | | - | |
| 348 | + | |
340 | 349 | | |
341 | 350 | | |
| 351 | + | |
342 | 352 | | |
343 | 353 | | |
344 | 354 | | |
| |||
355 | 365 | | |
356 | 366 | | |
357 | 367 | | |
358 | | - | |
| 368 | + | |
359 | 369 | | |
360 | 370 | | |
361 | | - | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
362 | 375 | | |
363 | 376 | | |
364 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
365 | 380 | | |
366 | 381 | | |
367 | 382 | | |
| |||
381 | 396 | | |
382 | 397 | | |
383 | 398 | | |
384 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
385 | 402 | | |
386 | 403 | | |
387 | 404 | | |
| |||
393 | 410 | | |
394 | 411 | | |
395 | 412 | | |
396 | | - | |
| 413 | + | |
| 414 | + | |
397 | 415 | | |
398 | 416 | | |
399 | 417 | | |
| |||
432 | 450 | | |
433 | 451 | | |
434 | 452 | | |
435 | | - | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
436 | 456 | | |
437 | 457 | | |
438 | 458 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
107 | 117 | | |
108 | 118 | | |
109 | | - | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
110 | 122 | | |
111 | 123 | | |
112 | 124 | | |
| |||
139 | 151 | | |
140 | 152 | | |
141 | 153 | | |
142 | | - | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
143 | 157 | | |
144 | 158 | | |
145 | 159 | | |
| |||
154 | 168 | | |
155 | 169 | | |
156 | 170 | | |
157 | | - | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
158 | 174 | | |
159 | 175 | | |
160 | 176 | | |
161 | 177 | | |
162 | 178 | | |
163 | 179 | | |
164 | 180 | | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
175 | 200 | | |
176 | 201 | | |
177 | 202 | | |
| |||
188 | 213 | | |
189 | 214 | | |
190 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
191 | 224 | | |
192 | 225 | | |
193 | 226 | | |
| |||
207 | 240 | | |
208 | 241 | | |
209 | 242 | | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
| 243 | + | |
| 244 | + | |
215 | 245 | | |
216 | | - | |
| 246 | + | |
217 | 247 | | |
218 | 248 | | |
219 | | - | |
220 | | - | |
221 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
222 | 253 | | |
223 | | - | |
| 254 | + | |
224 | 255 | | |
225 | 256 | | |
226 | 257 | | |
227 | 258 | | |
228 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
229 | 266 | | |
230 | 267 | | |
231 | 268 | | |
| |||
243 | 280 | | |
244 | 281 | | |
245 | 282 | | |
246 | | - | |
| 283 | + | |
| 284 | + | |
247 | 285 | | |
248 | 286 | | |
249 | 287 | | |
| |||
260 | 298 | | |
261 | 299 | | |
262 | 300 | | |
263 | | - | |
| 301 | + | |
264 | 302 | | |
265 | 303 | | |
266 | 304 | | |
267 | 305 | | |
268 | | - | |
| 306 | + | |
269 | 307 | | |
270 | 308 | | |
271 | 309 | | |
| |||
0 commit comments