-
Notifications
You must be signed in to change notification settings - Fork 185
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize multi-fragment unfiltering, part 2 (#1693)
For selective filtering, we need to build a map to associate each tile with its cell slab ranges. In the single-fragment scenario that I'm testing, the map is built from 767 result cell slabs. In the multi-fragment scenario, it is built from 3250033 result cell slabs. This map takes ~1ms to build for the single-fragment scenario, but ~80ms for the multi-fragment scenario. This map only needs to be built once per read, but it is erroneously built once per attribute. There are 19 attributes in the scenario under test. The overhead is ~1500ms (19 * 80ms). This patch moves the map construction so that it is built once per read. This reduces the overhead in the multi-fragment scenario from ~1500ms to ~80ms. ``` // Single-fragment scenario Time to unfilter attribute tiles: 0.383881 secs ``` ``` // Multi-fragment scenario Time to unfilter attribute tiles: 0.410692 secs ``` This should conclude optimization in the unfiltering path for this test scenario. I will continue to investigate the overhead in the copy-cells path. Co-authored-by: Joe Maley <[email protected]>
- Loading branch information
joe maley
and
Joe Maley
committed
Jul 22, 2020
1 parent
d89f03e
commit 928e15c
Showing
2 changed files
with
31 additions
and
32 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