fallintoplace opened a new pull request, #1176:
URL: https://github.com/apache/arrow-go/pull/1176

   ### What changed
   
   - decode RLE and bit-packed levels directly into `[]int16`
   - count max definition levels during decoding
   - remove the intermediate `uint64` level batch and its second conversion pass
   - add benchmarks for all-defined, mostly-defined, and alternating levels
   - check partial value counts when a literal run is truncated
   
   ### Benchmarks
   
   Apple M1 Pro, `-benchtime=300ms -count=5`:
   
   | RLE workload | Before | After | Change |
   | --- | ---: | ---: | ---: |
   | 1,024 all defined | 2,137 ns/op | 1,495 ns/op | -30% |
   | 1,024 mostly defined | 5,740 ns/op | 5,329 ns/op | -7% |
   | 65,536 all defined | 61,213 ns/op | 24,601 ns/op | -60% |
   | 65,536 alternating | 120,994 ns/op | 89,543 ns/op | -26% |
   
   Allocations were unchanged.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to