You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On a skylake processor, the parsing speeds (in GB/s) of various processors on the twitter.json file are as follows.
29
+
30
+
| parser | GB/s |
31
+
|---|---|
32
+
| simdjson | 2.2 |
33
+
| RapidJSON encoding-validation | 0.51|
34
+
| RapidJSON encoding-validation, insitu | 0.71|
35
+
| sajson (insitu, dynamic) | 0.70|
36
+
| sajson (insitu, static) | 0.97|
37
+
| dropbox | 0.14|
38
+
| fastjson | 0.26|
39
+
| gason | 0.85|
40
+
| ultrajson | 0.42|
41
+
| jsmn | 0.28|
42
+
|cJSON | 0.34|
29
43
30
44
## Requirements
31
45
32
46
- We support platforms like Linux or macOS, as well as Windows through Visual Studio 2017 or better.
33
47
- A processor with AVX2 (i.e., Intel processors starting with the Haswell microarchitecture released 2013, and processors from AMD starting with the Rizen)
34
-
- A recent C++ compiler (e.g., GNU GCC or LLVM CLANG or Visual Studio 2017), we assume C++17
48
+
- A recent C++ compiler (e.g., GNU GCC or LLVM CLANG or Visual Studio 2017), we assume C++17. GNU GCC 7 or better or LLVM's clang 6 or better.
35
49
- Some benchmark scripts assume bash and other common utilities, but they are optional.
36
50
37
51
## License
@@ -105,7 +119,7 @@ Note: In some settings, it might be desirable to precompile `simdjson.cpp` inste
105
119
106
120
## Usage (old-school Makefile on platforms like Linux or macOS)
107
121
108
-
Requirements: recent clang or gcc, and make. We recommend at least GNU GCC/G++ 7. A system like Linux or macOS is expected.
122
+
Requirements: recent clang or gcc, and make. We recommend at least GNU GCC/G++ 7 or LLVM clang 6. A system like Linux or macOS is expected.
109
123
110
124
To test:
111
125
@@ -130,11 +144,25 @@ make benchmark
130
144
131
145
## Usage (CMake on platforms like Linux or macOS)
132
146
133
-
Requirements: You need a recent compiler like clang or gcc. We recommend at least GNU GCC/G++ 7.
147
+
Requirements: We require a recent version of cmake. On macOS, the easiest way to install cmake might be to use [brew](https://brew.sh) and then type
148
+
149
+
```
150
+
brew install cmake"
151
+
```
152
+
153
+
There is an [equivalent brew on Linux which works the same way as well](https://linuxbrew.sh).
154
+
155
+
You need a recent compiler like clang or gcc. We recommend at least GNU GCC/G++ 7 or LLVM clang 6. For example, you can install a recent compiler with brew:
156
+
157
+
```
158
+
brew install gcc@8
159
+
```
160
+
161
+
Optional: You need to tell cmake which compiler you wish to use by setting the CC and CXX variables. Under bash, you can do so with commands such as ``export CC=gcc-7`` and ``export CXX=g++-7``.
162
+
134
163
135
-
We require a recent version of cmake. On macOS, the easiest way to install cmake might be to use [brew](https://brew.sh) and then type "brew install cmake". There is an [equivalent brew on Linux which works the same way as well](https://linuxbrew.sh).
136
164
137
-
While in the project repository, do the following:
165
+
Building: While in the project repository, do the following:
0 commit comments