Commit f18d310
committed
perf(ogc): faster page parsing and chunk combination
- Replace pd.json_normalize with pd.DataFrame in _get_resp_data.
OGC API properties are flat dicts; json_normalize's recursive
flattening is unnecessary overhead (~2.4× faster per page:
3.2 ms → 1.35 ms on 2500-feature pages).
- Skip drop_duplicates in _combine_chunk_frames when the plan has
no filter axis. List-axis chunks produce non-overlapping
partitions, so dedup is pure overhead in the common
parallel_chunks case (~2.7× faster combine: 3.4 ms → 1.25 ms
on 52k-row results).
- Add ChunkPlan.has_filter_axis property to distinguish plans that
need dedup (filter-axis overlap possible) from those that don't
(list-axis only).1 parent d575933 commit f18d310
3 files changed
Lines changed: 52 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
436 | | - | |
| 436 | + | |
437 | 437 | | |
438 | 438 | | |
439 | 439 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
596 | 596 | | |
597 | 597 | | |
598 | 598 | | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
599 | 621 | | |
600 | 622 | | |
601 | 623 | | |
| |||
621 | 643 | | |
622 | 644 | | |
623 | 645 | | |
624 | | - | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
625 | 649 | | |
626 | | - | |
| 650 | + | |
| 651 | + | |
627 | 652 | | |
628 | 653 | | |
629 | 654 | | |
630 | 655 | | |
631 | 656 | | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
632 | 667 | | |
633 | 668 | | |
634 | 669 | | |
635 | 670 | | |
636 | | - | |
637 | | - | |
| 671 | + | |
| 672 | + | |
638 | 673 | | |
639 | 674 | | |
640 | 675 | | |
| |||
667 | 702 | | |
668 | 703 | | |
669 | 704 | | |
670 | | - | |
| 705 | + | |
671 | 706 | | |
672 | 707 | | |
673 | 708 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
138 | 142 | | |
139 | 143 | | |
140 | 144 | | |
| |||
0 commit comments