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

   ## What
   
   - Release each dictionary payload as soon as `WritePayload` returns.
   - Keep the optional dictionary delta slice in the same short-lived scope.
   - This keeps encoded dictionary payloads from accumulating until 
`writeDictionaryPayloads` returns.
   
   ## Benchmark
   
   The benchmark uses a tracking allocator and reports peak bytes held by 
dictionary payloads beyond the input record.
   
   Apple M1 Pro, Go 1.26.3, 1 CPU, 150 ms, 7 runs:
   
   | Dictionary columns | Before | After |
   | ---: | ---: | ---: |
   | 8 | 1,536 B | 192 B |
   | 64 | 12,288 B | 192 B |
   | 256 | 49,152 B | 192 B |
   
   ## Tests
   
   - `go test ./arrow/ipc`
   - `PARQUET_TEST_DATA="$(pwd)/parquet-testing/data" go test ./...`
   - `go vet ./arrow/ipc`
   


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