-
Notifications
You must be signed in to change notification settings - Fork 254
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf: improve v2 scan performance (#2604)
This PR makes a number of changes: * The default I/O parallelism is now based on the type of object store (8 for local, 64 for cloud) * Individual fragment scans that are part of a larger dataset scan now share the same ScanScheduler (to avoid over-scheduling I/O) * The flatten / buffered style of readahead in the v1 scan did not yield good I/O parallelism in v2 (a fragment wouldn't start scanning until the previous fragment had finished). We now use a different buffered / flatten / buffered approach in v2. * The above bullet point required changing the scheduler's try_open to be a synchronous method. This changed the decoder middleware to be synchronous. This temporarily breaks v2 zone maps but they weren't wired in fully anyways. The correct fix will be to add an initialize step between open and the first read. We will do that in a future PR. This initialize step can be used by dictionary & FSST as well to pre-load metadata buffers.
- Loading branch information
1 parent
30af1d8
commit 04d9cc5
Showing
24 changed files
with
369 additions
and
186 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.