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

   ## Summary
   
   - **Writes Binary, String, LargeBinary, and LargeString values from Arrow 
buffers and offsets.**
   - Removes the full `[]parquet.ByteArray` allocation from non-dictionary 
writes.
   - Keeps nullable writes, page statistics, bloom filters, page limits, and 
dictionary fallback behavior.
   - Adds coverage for 32-bit and 64-bit offsets, nulls, slices, small batches, 
and all byte-array encodings.
   
   ## Benchmark
   
   64K String rows, uncompressed, dictionary disabled, Apple M1 Pro. Median of 
3 runs with 3 seconds per run.
   
   | stats | before | after | heap/op |
   | --- | ---: | ---: | ---: |
   | false | 1.798 ms | 1.260 ms | 10.62 MB -> 9.04 MB |
   | true | 2.343 ms | 1.861 ms | 10.62 MB -> 9.06 MB |
   
   Benchmark command: `go test ./parquet/pqarrow -run '^$' -bench 
'^BenchmarkWriteArrowBinaryOffsets$' -benchmem -benchtime=3s -count=3`
   
   ## Tests
   
   - `go test ./parquet/...`
   - `go vet ./parquet/internal/encoding ./parquet/metadata ./parquet/file 
./parquet/pqarrow`


-- 
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