High-performance SIMD-accelerated operations library powering SyndrDB

Accelerant

SIMD-Powered Performance Library

Leveraging AVX2 and NEON instructions to deliver 4-8x faster database operations with automatic CPU feature detection.

  AVX2   NEON   Pure Go   370+ Tests

Architecture

  Dual architecture support: AMD64 (AVX2) + ARM64 (NEON)
  Automatic CPU feature detection at runtime
  Generic scalar fallbacks for universal compatibility
  Memory-efficient bitmask representation (8 bytes per 64 booleans)
  Buffer pool management for reduced allocation overhead
  Lock-free progress monitoring with atomic operations

SIMD Operations

Comparisons

  • Int64 & Float64: Eq, Ne, Gt, Lt, Ge, Le
  • Bool array + bitmask variants
  • IEEE 754 NaN handling
  • ~4x speedup with AVX2
  • ~2x speedup with NEON

Bitmap Operations

  • AND, OR, XOR, NOT, PopCount
  • BoolsToBitmask / BitmaskToBools
  • Memory-efficient row selection
  • Vectorized bulk operations
  • Zero-allocation hot paths

Aggregations

  • SUM, MIN, MAX, COUNT, AVG
  • Non-null counting with bitmap
  • Null bitmap support throughout
  • 4-6x speedup over scalar
  • Overflow-safe accumulation

Hashing

  • FNV-1a, CRC32, XXHash64
  • XXHash64Bytes for binary data
  • Powers hash joins & GROUP BY
  • 2-5x speedup over scalar
  • Consistent cross-platform results

String Operations

  • StrCmp, StrEq, StrContains
  • StrToLower / StrToUpper
  • SQL LIKE with compiled patterns
  • Prefix/suffix/contains/wildcard
  • 2-4x speedup over scalar

JSON & UTF-8

  • HasSpecialChars (5-8x faster)
  • EscapeJSONString (3-5x faster)
  • FormatInt64/Float64 (2-4x faster)
  • UTF-8 validation: single + streaming
  • Parallel UTF-8 (10-20x for ASCII)
Performance Benchmarks

Measured speedup over pure Go scalar implementations.

Integer Comparisons (AVX2)

~4x faster

JSON HasSpecialChars

5-8x faster

UTF-8 Validation (ASCII)

10-20x faster

Aggregations (SUM/COUNT)

4-6x faster

String Operations

2-4x faster

Benchmarked against pure Go scalar implementations. Results vary by data size and CPU architecture.

How SQL Maps to SIMD

WHERE age > 30  →  CmpGtInt64 + bitmap operations
SELECT SUM(amount), COUNT(*)  →  SumInt64, CountNonNull
JOIN ON id  →  XXHash64 for hash table building
WHERE name LIKE 'John%'  →  CmpLikeString with compiled patterns
UPPER(city)  →  StrToUpper with SIMD acceleration

Power Your Applications with SIMD

The engine behind SyndrDB's blazing performance.

View on GitHub Documentation