Hi, I have just started looking at the java code of Arrow. So far what I can found is: - Code template is used to generate efficient codes for reading/writing fixed bit-length value vectors - Unsafe class will be used to accelerate raw memory access within ByteBuffer - ValueHolder class is used to avoid object construction costs
msgpack-java (https://github.com/msgpack/msgpack-java) is also using similar techniques, so these optimizations are totally make sense. But I still cannot find where SIMD operations will work effectively. Using JNI to invoke SIMD ops will have non-negligible overhead. So my guess is Arrow will rely on some JVM optimization. Could you tell me how SIMD operations will be used in Arrow java? Thanks in advance, -- Taro L. Saito http://xerial.org/leo