Skip to content

Add 128-bit vector support - #80

Open
The-Alchemist wants to merge 1 commit into
simdjson:mainfrom
The-Alchemist:feature/128bit-support
Open

The-Alchemist wants to merge 1 commit into
simdjson:mainfrom
The-Alchemist:feature/128bit-support

Conversation

@The-Alchemist

@The-Alchemist The-Alchemist commented Sep 17, 2026

Copy link
Copy Markdown

Summary

  • Add org.simdjson.species=128 and accept 128-bit preferred vectors so parsing works on Apple Silicon and similar hardware (tested on M4)
  • Implement StructuralIndexer.index128() using four 16-byte lanes per 64-byte block (same layout as simdjson ARM64 simd8x64 stage-1).
  • Add test128 to tests

Feedback welcome!

@The-Alchemist The-Alchemist changed the title Add 128-bit vector support for stage-1 indexing Add 128-bit vector support Sep 17, 2026
@The-Alchemist
The-Alchemist marked this pull request as ready for review September 17, 2026 21:50
Platforms such as Apple Silicon use 128-bit ByteVector as the preferred
species; rejecting that width broke ./gradlew test and made forced 256-bit
runs very slow. Implement index128 with four 16-byte lanes per 64-byte block,
aligned with simdjson ARM64 stage-1 (simd8x64).

Add test128 to CI and check, and wire species-specific test tasks to the test
classpath so test128/test256/test512 run the suite with the correct JVM flag.

Signed-off-by: The-Alchemist <kap4020@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant