Update README.md
This commit is contained in:
parent
9bfc0a816f
commit
e2b8dcf966
38
README.md
38
README.md
|
@ -25,13 +25,27 @@ twitter.json:
|
||||||
|
|
||||||
<img src="doc/twitter.jsonparseandstat.png" width="50%">
|
<img src="doc/twitter.jsonparseandstat.png" width="50%">
|
||||||
|
|
||||||
|
On a skylake processor, the parsing speeds (in GB/s) of various processors on the twitter.json file are as follows.
|
||||||
|
|
||||||
|
| parser | GB/s |
|
||||||
|
|---|---|
|
||||||
|
| simdjson | 2.2 |
|
||||||
|
| RapidJSON encoding-validation | 0.51|
|
||||||
|
| RapidJSON encoding-validation, insitu | 0.71|
|
||||||
|
| sajson (insitu, dynamic) | 0.70|
|
||||||
|
| sajson (insitu, static) | 0.97|
|
||||||
|
| dropbox | 0.14|
|
||||||
|
| fastjson | 0.26|
|
||||||
|
| gason | 0.85|
|
||||||
|
| ultrajson | 0.42|
|
||||||
|
| jsmn | 0.28|
|
||||||
|
|cJSON | 0.34|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- We support platforms like Linux or macOS, as well as Windows through Visual Studio 2017 or better.
|
- We support platforms like Linux or macOS, as well as Windows through Visual Studio 2017 or better.
|
||||||
- A processor with AVX2 (i.e., Intel processors starting with the Haswell microarchitecture released 2013, and processors from AMD starting with the Rizen)
|
- A processor with AVX2 (i.e., Intel processors starting with the Haswell microarchitecture released 2013, and processors from AMD starting with the Rizen)
|
||||||
- A recent C++ compiler (e.g., GNU GCC or LLVM CLANG or Visual Studio 2017), we assume C++17
|
- 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.
|
||||||
- Some benchmark scripts assume bash and other common utilities, but they are optional.
|
- Some benchmark scripts assume bash and other common utilities, but they are optional.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
@ -105,7 +119,7 @@ Note: In some settings, it might be desirable to precompile `simdjson.cpp` inste
|
||||||
|
|
||||||
## Usage (old-school Makefile on platforms like Linux or macOS)
|
## Usage (old-school Makefile on platforms like Linux or macOS)
|
||||||
|
|
||||||
Requirements: recent clang or gcc, and make. We recommend at least GNU GCC/G++ 7. A system like Linux or macOS is expected.
|
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.
|
||||||
|
|
||||||
To test:
|
To test:
|
||||||
|
|
||||||
|
@ -130,11 +144,25 @@ make benchmark
|
||||||
|
|
||||||
## Usage (CMake on platforms like Linux or macOS)
|
## Usage (CMake on platforms like Linux or macOS)
|
||||||
|
|
||||||
Requirements: You need a recent compiler like clang or gcc. We recommend at least GNU GCC/G++ 7.
|
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
|
||||||
|
|
||||||
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).
|
```
|
||||||
|
brew install cmake"
|
||||||
|
```
|
||||||
|
|
||||||
While in the project repository, do the following:
|
There is an [equivalent brew on Linux which works the same way as well](https://linuxbrew.sh).
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
```
|
||||||
|
brew install gcc@8
|
||||||
|
```
|
||||||
|
|
||||||
|
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``.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Building: While in the project repository, do the following:
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir build
|
mkdir build
|
||||||
|
|
Loading…
Reference in New Issue