Core

Memory & SIMD

OaMemcpy — AVX2 Memory Operations

Always use OaMemcpy instead of std::memcpy. 5.1x faster on large buffers (64MB+). Non-temporal streaming for buffers >2MB.

  • OaMemcpy(dst, src, size) — general purpose
  • OaMemcpyStream(dst, src, size) — non-temporal for >2MB
  • OaMemzero(dst, size) — fast zero-fill
  • OaMemEqual(a, b, size) — AVX2 comparison

OaSimd — Google Highway

  • OaSimdDotF32(a, b, n) — vectorized dot product
  • OaSimdScaleF32(data, factor, n) — vectorized scale
  • OaSimdMemzero(dst, size) — SIMD zero-fill