Home / Companies / InfluxData / Blog / Post Details
Content Deep Dive

InfluxData is Building a Fast Implementation of Apache Arrow in Go Using c2goasm and SIMD

Blog post from InfluxData

Post Details
Company
Date Published
Author
Stuart Carnie
Word Count
1,798
Language
English
Hacker News Points
7
Summary

InfluxData has contributed a Go implementation of Apache Arrow, a standardized columnar memory format for efficient analytic operations on modern hardware. This implementation is built using c2goasm and SIMD (Single Instruction Multiple Data) optimizations to improve performance. The project aims to provide an alternative way to exchange data between InfluxDB's query processing engine and language, Flux f.k.a. IFQL, and participate in the broader ecosystem of data processing and analysis tools. Apache Arrow is gaining popularity among open source projects and commercial software offerings due to its standardized format, performance, and language-independence features. The Go implementation provides support for memory management, array and builder support, primitive types, parametric types, type metadata, SIMD math kernels, and sum operations for 64-bit float, int, and unsigned int arrays. The project also aims to automate the code generation process using clang and c2goasm, making it easier to generate assembly files for different target architectures.