From b81310cb82249567048b3e57ca32858f3e243a4d Mon Sep 17 00:00:00 2001 From: saritchie <48776772+saritchie@users.noreply.github.com> Date: Sat, 23 Mar 2019 06:19:30 -0700 Subject: [PATCH] Minor update to "Scope" section (#127) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c696b3e5..42fb0cf8 100644 --- a/README.md +++ b/README.md @@ -259,15 +259,15 @@ If you find the version of `simdjson` shipped with `vcpkg` is out-of-date, feel ## Scope -We provide a fast parser. It fully validates the input according to the various specifications. +We provide a fast parser, that fully validates an input according to various specifications. The parser builds a useful immutable (read-only) DOM (document-object model) which can be later accessed. To simplify the engineering, we make some assumptions. -- We support UTF-8 (and thus ASCII), nothing else (no Latin, no UTF-16). We do not believe that this is a genuine limitation in the sense that we do not think that there is any serious application that needs to process JSON data without an ASCII or UTF-8 encoding. +- We support UTF-8 (and thus ASCII), nothing else (no Latin, no UTF-16). We do not believe this is a genuine limitation, because we do not think there is any serious application that needs to process JSON data without an ASCII or UTF-8 encoding. - All strings in the JSON document may have up to 4294967295 bytes in UTF-8 (4GB). To enforce this constraint, we refuse to parse a document that contains more than 4294967295 bytes (4GB). This should accommodate most JSON documents. -- We assume AVX2 support which is available in all recent mainstream x86 processors produced by AMD and Intel. No support for non-x86 processors is included though it can be done. We plan to support ARM processors (help is invited). -- In cases of failure, we just report a failure without any indication as to the nature of the problem. (This can be easily improved without affecting performance.) +- We assume AVX2 support, which is available in all recent mainstream x86 processors produced by AMD and Intel. No support for non-x86 processors is included, though it can be done. We plan to support ARM processors (help is invited). +- In cases of failure, we report a failure without any indication to the nature of the problem. (This can be easily improved without affecting performance.) - As allowed by the specification, we allow repeated keys within an object (other parsers like sajson do the same). - Performance is optimized for JSON documents spanning at least a tens kilobytes up to many megabytes: the performance issues with having to parse many tiny JSON documents or one truly enormous JSON document are different.