Skip to content

Release v1.6.0: ARM64 NEON Acceleration & Cleanups πŸš€

Choose a tag to compare

@GenshIv GenshIv released this 30 Jun 20:18

This release brings hardware-accelerated SIMD parsing to ARM architectures! SilentJSON is no longer just blazing fast on Intel/AMD β€” it now natively leverages 128-bit NEON vector instructions on Apple Silicon (M-series) and ARM-based servers (like AWS Graviton).

✨ New Features & Performance
Experimental ARM64 NEON Support: We've rewritten the core parsers (skipSpaceASM and findArrayElementsEarlyExitASM) in native Go ARM64 assembly using NEON vector extensions.
SIMD Fast-Path Chunking: The parser now loads 16-byte chunks into NEON registers (VLD1) and simultaneously compares them against all structural JSON characters using parallel VCMEQ and VORR masks.
O(1) Space Skipping: Implemented an innovative "shift-and-add" technique (VADDP) to extract scalar masks from 128-bit vectors, reducing massive whitespace blocks at 16 bytes per CPU cycle.
Zero-Allocation Parity: The ARM64 implementation perfectly mirrors the AMD64 AVX2 behavior, maintaining the strict zero-allocation architecture and nested state correctness.
πŸ›  Fixes & Chores
Cleaned up repository history: Removed obsolete v1.5.1 and v1.5.2 tags to streamline the release history.
Test Suite Cleanup: Removed temporary stream_debug files and isolated test environments.
πŸ’‘ Why this matters
If you are deploying high-throughput Go services to AWS Graviton instances or developing locally on Apple Silicon, SilentJSON will now bypass the slow scalar loops entirely and jump straight into hardware-accelerated vector processing.

Note: ARM64 support is currently marked as experimental while we gather edge-case feedback from real-world production environments. AMD64 AVX2 remains stable and production-ready.