-
-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
enhancementNew feature or requestNew feature or request
Description
This ticket aims to eventually be a master issue for tracking what's needed to support https://github.com/simdjson/simdjson. The idea is to support simdjson on the evaluator, while keeping the compiler JSON Toolkit only.
Phase 1: Abstract away JSON Toolkit
- Create new header (
evaluator_json.h?) that introduces a layer of indirection for type aliases and functions that we can#ifdefbased on the chosen backend. All other parts of the evaluator should use this instead. We would even need to abstract how to loop over objects, etc which might get nasty? - Revisit number comparison instructions (like
AssertionGreaterEqual) to NOT take JSON values as input
Phase 2: Bridge any interoperability requirements between simdjson and JSON Toolkit
- Integrate
simdjsoninto the build usingvendorpull - Allow traversing a JSON Toolkit JSON Pointer on a
simdjsonJSON document. Probably needs to happen here in Blaze as a re-implementation of pointer traversal? - Implement an equality check helper between
simdjsonand JSON Toolkit
Phase 3: Enable simdjson
- Add a new CMake option for selecting the desired JSON backend for the evaluator with options
simdjsonandjsontoolkit. MaybeBLAZE_EVALUATOR_BACKEND? Note Blaze would still always link to JSON Toolkit for using other of its stuff, like JSON Pointers - Implement a
simdjsonvariant of the common abstraction interface
Resolved
- Will we emit annotation values using
simdjsonor JSON Toolkit?- Resolution: Annotations are never stored, so we can keep using JSON Toolkit, otherwise we need to get into emitting
simdjsonfrom the compiler
- Resolution: Annotations are never stored, so we can keep using JSON Toolkit, otherwise we need to get into emitting
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request