clarifications -- documentation update (#448)

This commit is contained in:
dbj 2020-01-20 16:39:47 +01:00 committed by Daniel Lemire
parent 33060738b6
commit c6f2f60b03
2 changed files with 48 additions and 43 deletions

View File

@ -1,15 +1,19 @@
# JsonStream # simdjson
## JsonStream
An interface providing features to work with files or streams containing multiple JSON documents. An interface providing features to work with files or streams containing multiple JSON documents.
As fast and convenient as possible. As fast and convenient as possible.
## Contents ## Contents
- [Motivations](#Motivations) - [simdjson](#simdjson)
- [Performance](#Performance) - [JsonStream](#jsonstream)
- [How it works](#how-it-works) - [Contents](#contents)
- [Support](#Support) - [Motivations](#motivations)
- [API](#API) - [Performance](#performance)
- [Concurrency mode](#concurrency-mode) - [How it works](#how-it-works)
- [Example](#Example) - [Support](#support)
- [Use cases](#use-cases) - [API](#api)
- [Concurrency mode](#concurrency-mode)
- [Example](#example)
- [Use cases](#use-cases)
## Motivations ## Motivations

View File

@ -28,41 +28,42 @@ It is sometimes useful to start with an example. Consider the following JSON doc
The following is a dump of the content of the tape, with the first number of each line representing the index of a tape element. The following is a dump of the content of the tape, with the first number of each line representing the index of a tape element.
```bash ### The Tape
$ ./json2json -d jsonexamples/small/demo.json | index | element (64 bit word) |
0 : r // pointing to 38 (right after last node) | ----- | ------------------------------------------------------------------- |
1 : { // pointing to next tape location 38 (first node after the scope) | 0 | r // pointing to 38 (right after last node) |
2 : string "Image" | 1 | { // pointing to next tape location 38 (first node after the scope) |
3 : { // pointing to next tape location 37 (first node after the scope) | 2 | string "Image" |
4 : string "Width" | 3 | { // pointing to next tape location 37 (first node after the scope) |
5 : integer 800 | 4 | string "Width" |
7 : string "Height" | 5 | integer 800 |
8 : integer 600 | 7 | string "Height" |
10 : string "Title" | 8 | integer 600 |
11 : string "View from 15th Floor" | 10 | string "Title" |
12 : string "Thumbnail" | 11 | string "View from 15th Floor" |
13 : { // pointing to next tape location 23 (first node after the scope) | 12 | string "Thumbnail" |
14 : string "Url" | 13 | { // pointing to next tape location 23 (first node after the scope) |
15 : string "http://www.example.com/image/481989943" | 14 | string "Url" |
16 : string "Height" | 15 | string "http://www.example.com/image/481989943" |
17 : integer 125 | 16 | string "Height" |
19 : string "Width" | 17 | integer 125 |
20 : integer 100 | 19 | string "Width" |
22 : } // pointing to previous tape location 13 (start of the scope) | 20 | integer 100 |
23 : string "Animated" | 22 | } // pointing to previous tape location 13 (start of the scope) |
24 : false | 23 | string "Animated" |
25 : string "IDs" | 24 | false |
26 : [ // pointing to next tape location 36 (first node after the scope) | 25 | string "IDs" |
27 : integer 116 | 26 | [ // pointing to next tape location 36 (first node after the scope) |
29 : integer 943 | 27 | integer 116 |
31 : integer 234 | 29 | integer 943 |
33 : integer 38793 | 31 | integer 234 |
35 : ] // pointing to previous tape location 26 (start of the scope) | 33 | integer 38793 |
36 : } // pointing to previous tape location 3 (start of the scope) | 35 | ] // pointing to previous tape location 26 (start of the scope) |
37 : } // pointing to previous tape location 1 (start of the scope) | 36 | } // pointing to previous tape location 3 (start of the scope) |
38 : r // pointing to 0 (start root) | 37 | } // pointing to previous tape location 1 (start of the scope) |
| 38 | r // pointing to 0 (start root) |
```
## General formal of the tape elements ## General formal of the tape elements