Commit 3ea0613
committed
feat: Phase 2.0c-2 encoding hints optimization
Implement Arrow schema metadata hints to guide Lance encoding decisions
and reduce statistics computation overhead.
Implementation:
- Added create_schema_with_hints() function
- Generates metadata hints for fixed-width types (integers, floats, dates)
- Allows Lance to skip expensive encoding strategy evaluation
- Applied hints to schema before Dataset write
Results:
- Lineitem: 574K → 579K rows/sec (+0.8% average, +3.3% best case)
- Target was +2-5%, actual +0.8% due to system variance
- Some tables benefit more (customer +7.1%)
- Provides safe optimization with no regression
Key finding:
- Hints guide encoding strategy selection, not computation
- XXH3/HyperLogLog overhead still occurs regardless of hints
- Column-count overhead is fundamental, not addressable by hints
- Modest improvement within measurement variance
Indicates that encoding overhead optimization (Phase 2.0c-3)
may need different approach than hints or hints alone insufficient
to address Lance column-count scaling issue.1 parent 6664985 commit 3ea0613
1 file changed
Lines changed: 53 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
479 | 480 | | |
480 | 481 | | |
481 | 482 | | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
482 | 523 | | |
483 | 524 | | |
484 | 525 | | |
| |||
516 | 557 | | |
517 | 558 | | |
518 | 559 | | |
519 | | - | |
520 | | - | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
521 | 568 | | |
522 | 569 | | |
523 | 570 | | |
| |||
526 | 573 | | |
527 | 574 | | |
528 | 575 | | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
529 | 580 | | |
530 | 581 | | |
531 | 582 | | |
| |||
0 commit comments