zeroshade commented on issue #269: URL: https://github.com/apache/arrow-go/issues/269#issuecomment-2744268818
The easiest example I can point to is the usage of `github.com/apache/arrow-adbc`. For drivers we build and package for distribution, we utilize the https://pkg.go.dev/github.com/apache/arrow-go/[email protected]/arrow/memory/mallocator to ensure that all memory allocated and utilized by the package is allocated and freed as C memory rather than managed by the Go runtime, to ensure it is always safe for interacting with other libraries across the C interface. Another example would be for memory intensive applications that want to leverage Arenas or other very granular memory management. Essentially, if you don't need fine-grained control over how memory is allocated and *when* it is free'd and given back to the OS, you don't need a custom allocator. This would be the vast majority of cases honestly. -- 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]
