From 611bccfb9b281b855a3fc5ac1b6843e9ea84a0f4 Mon Sep 17 00:00:00 2001 From: Andrew Noyes Date: Mon, 25 Aug 2025 15:57:07 -0400 Subject: [PATCH] Update README --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6f3f2bc..d8c793b 100644 --- a/README.md +++ b/README.md @@ -23,15 +23,15 @@ WeaselJSON is a high-performance, streaming JSON parser that uses callbacks inst ```mermaid flowchart TD - A[Need to parse JSON?] --> B{Do you have memory constraints
or truly streaming data?} + A[Need to parse JSON?] --> B{Do you have memory constraints
or do you want to parse partial data?} B -->|No| C{Is performance critical
and data fits in memory?} B -->|Yes| D{Can you control
how the JSON is laid out?} - C -->|No| E[SimdJSON DOM API
Fast and easy to use
Wait why are you using C++?] + C -->|No| E[SimdJSON DOM API
Fast and easy to use] C -->|Yes| F{Are you OK with potential
performance traps?} - F -->|Yes| G[SimdJSON On-Demand
Very fast
Nice API
Easy to use wrong] + F -->|Yes| G[SimdJSON On-Demand
Very fast
Nice API
Forward-only traversal] F -->|No| H[Consider weaseljson
if you can deal with callbacks] D -->|No| I{Can you preprocess data
or make multiple requests?} @@ -50,8 +50,9 @@ flowchart TD ### Use **SimdJSON On-Demand** when: - Performance is critical and your data fits in memory -- You understand that some access patterns can accidentally become very slow +- You can work with forward-only traversal (no random access or backtracking) - You need maximum speed but still want a usable API +- Your JSON structure is consistent and you control both generation and parsing ### Use **WeaselJSON** when: - You absolutely cannot load the whole JSON into memory