Apache Arrow

Table of Contents

1 Interface BufferAllocator

https://arrow.apache.org/docs/java/reference/org/apache/arrow/memory/BufferAllocator.html

바이트 버퍼 할당을 처리하는 래퍼 클래스. 사용자가 지정된 메서드만 사용하도록 합니다.

BufferAllocator newChildAllocator(String name,
 AllocationListener listener,
 long initReservation,
 long maxAllocation)  

Create a new child allocator.

  • Parameters:
    • name - the name of the allocator.
    • listener - allocation listener for the newly created child
    • initReservation - the initial space reservation (obtained from this allocator)
    • maxAllocation - maximum amount of space the new allocator can allocate
  • Returns: the new allocator, or null if it can't be created

사용되는 코드 : https://github.com/xtdb/xtdb/blob/527b17d11e2d9e5715ec3d0d47b73350d659f534/core/src/main/clojure/xtdb/buffer_pool.clj#L68

default ArrowBuf wrapForeignAllocation(ForeignAllocation allocation)

실험적: 이 버퍼 할당기 외부에서 생성된 할당을 래핑합니다. (EXPERIMENTAL: Wrap an allocation created outside this BufferAllocator.)

이 기능은 네이티브 코드(native code)의 할당(allocation)을 Java 할당 버퍼와 동일한 메모리 관리 프레임워크에 통합하여 사용자에게 일관된 API를 제공하는 데 유용합니다. 생성된 버퍼는 이 Allocator에 의해 추적되며 Java 할당 버퍼(Java-allocated buffers)처럼 전송할 수 있습니다.

사용되는 코드 링크 : https://github.com/xtdb/xtdb/blob/527b17d11e2d9e5715ec3d0d47b73350d659f534/core/src/main/clojure/xtdb/util.clj

Date: 2024-08-13 Tue 00:00

Author: Younghwan Nam

Created: 2024-08-31 Sat 15:59

Emacs 27.2 (Org mode 9.4.4)

Validate