Daniel Lemire
642132920f
Fixing performance regression caused by helpful code contributions
...
that moved inlineable functions into the source file combined with
helpful compilers which aren't smart enough to do the inlinining in
any case.
2019-05-31 18:16:12 -04:00
Daniel Lemire
4e7e7d99cc
We do not want to check unified_machine against a bool now that we return an integer.
2019-05-31 11:11:23 -04:00
Daniel Lemire
6b5231f930
Just improving the look and feel of 'parsingcompetition'.
2019-05-24 20:08:06 -04:00
Daniel Lemire
2c7a9734af
Updating parsingcompetition to the new API.
2019-05-24 19:28:21 -04:00
Daniel Lemire
e370a65383
Fix for issues 32, 50, 131, 137
...
* Improving portability.
* Revisiting faulty logic regarding same-page overruns.
* Disabling same-page overruns under VS.
* Clarifying the documentation
* Fix for issue 131 + being more explicit regarding memory realloc.
* Fix for issue 137.
* removing "using namespace std" throughout. Fix for 50
* Introducing typed malloc/free.
* Introducing a custom class (padded_string) that solves several minor usability issues.
* Updating amalgamation for testing.
2019-05-09 17:59:51 -04:00
Daniel Lemire
0d81fd287e
With this commit we can do all tests with full sanitizers on, and get no warning ( #132 )
...
* Making sure we can run with the sanitizers on.
* Minor code simplification in the number parsing.
* Following @EmilGedda 's recommendations regarding the makefile.
* Reference to blog post.
* Adding link to https://johnnylee-sde.github.io/Fast-numeric-string-to-int/
* Better hex parsing.
2019-04-24 17:31:47 -04:00
Geoff Langdale
5578401a0f
benchmark/parse.cpp doesn't need intrinsics for itself.
2019-03-21 11:29:17 +11:00
Daniel Lemire
df8f792183
Store the string lengths on the string tape ( #101 )
...
* Store string length in the string-tape item.
* Files are now limited to 4GB.
* Moving detection of unescaped chars to stage 1 to reduce the burden due to string parsing.
Fixes https://github.com/lemire/simdjson/issues/114
Fixes https://github.com/lemire/simdjson/issues/87
2019-03-13 19:32:57 -04:00
myd7349
2851ea490c
Export CMake targets ( #96 )
2019-03-04 16:07:06 -05:00
Thomas Navennec
352dd5e7fa
Change parse_json return type from bool to int ( #82 )
...
* Added simdjerr namespace
* Updated jsonparser files
* updated stage1 and stage2
* removed stage2 inline function
* Added forgotten return statements
* Updated tools and benchmarks
* Corrected parenthesis
* Removed extra =
* Accidentally undid reinterpret_cast
* Better comments, undid a header name fuckup
* Added an errorMsg method, updated readme
* Removed useless header from stage2
* Updated single-header file
* added simdjerr.cpp contents to simdjson.cpp
* Made single header version work
* Updated singleheader test, fixed simdjson.cpp
* Renamed simdjerr namespace and files to simdjson
* Updating the amalgamation.
2019-03-02 17:18:45 -05:00
Kai Wolf
772919ef11
Use unique_ptr instead of new/delete
2019-02-25 21:03:20 +01:00
Kai Wolf
b521719b6f
Fix old-style C-Casts
2019-02-23 17:31:38 +01:00
Kai Wolf
ff22e75f95
Apply minor readability fixes
2019-02-23 17:28:20 +01:00
Geoff Langdale
3d30fd5440
Fixed a stage number message and we now fail out if no structural chars from stage 1
2019-02-23 10:51:45 +11:00
Thomas Navennec
9606343b2c
ParsedJson & ParsedJson::iterator definitions in .cpp files ( #47 )
...
* Minor change to benchmark cmake
* Moved ParsedJson and its Iterator to separate .cpp files
* Uncommented functions, that has nothing to do with this pr
* Removed really_inline comments
* Reinstated some inline functions to restore previous performance
* Re-merged iterator in ParsedJson
* Uncommented some WARN_UNUSED
2019-02-22 14:38:35 -05:00
Daniel Lemire
1b115dbd3a
Adding jsoncpp
2019-01-24 14:28:26 -05:00
Daniel Lemire
c901865ac8
Including more cases.
2019-01-17 19:21:09 -05:00
Daniel Lemire
974babf69f
Adding more competition.
2019-01-17 17:24:29 -05:00
Daniel Lemire
86de53ab17
Minor tweaks.
2019-01-03 19:05:21 +00:00
Daniel Lemire
741f3c8c7d
updating stat model
2019-01-02 16:47:35 -05:00
Daniel Lemire
e92b19a692
Saving...
2019-01-01 15:16:44 -05:00
Daniel Lemire
df65355ded
More details.
2019-01-01 15:12:51 -05:00
Daniel Lemire
f1ee507bca
More details.
2019-01-01 14:39:35 -05:00
Daniel Lemire
c3e2ec1618
Cleaning.
2018-12-31 17:39:06 -05:00
Daniel Lemire
3ce1dd8087
Cleaning.
2018-12-31 17:13:32 -05:00
Daniel Lemire
58d41923fd
Porting to visual studio
...
Now builds on Visual Studio
2018-12-30 21:00:19 -05:00
Daniel Lemire
386bebb33b
adding support for cmake.
2018-12-28 13:13:10 -05:00
Daniel Lemire
3b24ba9043
Adding cmake
2018-12-28 13:05:42 -05:00
Daniel Lemire
bf4089b33b
Removing custom types (more standard code).
2018-12-27 20:09:25 -05:00
Daniel Lemire
d7e8d53a2a
Cleaning.
2018-12-27 17:39:32 -05:00
Daniel Lemire
8db5e6d044
Tweaking.
2018-12-27 17:39:17 -05:00
Daniel Lemire
2654388c52
Saving...
2018-12-27 17:10:19 -05:00
Daniel Lemire
a75ef43a2f
Refreshing.
2018-12-24 17:07:44 -05:00
Daniel Lemire
8db5da9ffe
Adding cannonlake results.
2018-12-24 15:30:25 -05:00
Daniel Lemire
0c97db52c5
Fixing things up
2018-12-24 15:20:00 -05:00
Daniel Lemire
579bc0d848
Done analysis.
2018-12-24 15:10:55 -05:00
Daniel Lemire
15719a0d0d
Tweaking.
2018-12-24 13:18:19 -05:00
Daniel Lemire
3f157d955c
Got model.
2018-12-24 12:36:45 -05:00
Daniel Lemire
061c62a5da
Let us try this.
2018-12-24 12:28:27 -05:00
Daniel Lemire
e979a0c93f
Simplifying the build
2018-12-19 00:40:04 -05:00
Daniel Lemire
3b7830002a
Cleaning
2018-12-18 22:48:24 -05:00
Daniel Lemire
14b55ab77f
Preparing new version with plotting.
2018-12-18 22:18:23 -05:00
Daniel Lemire
b1b5665343
Cleaning.
2018-12-14 21:45:38 -05:00
Daniel Lemire
0769c39e27
Ok. Looks complete.
2018-12-14 21:32:42 -05:00
Daniel Lemire
dfabee5b80
Tmp file.
2018-12-12 23:01:36 -05:00
Daniel Lemire
05a2547829
Adding benchmark.
2018-12-12 22:42:19 -05:00
Daniel Lemire
1dad5d49a6
Adding remark.
2018-12-12 12:10:23 -05:00
Daniel Lemire
15161669ec
Added a version of RapidJSON with static alloc.
2018-12-12 10:19:32 -05:00
Daniel Lemire
751dce98f5
Getting there slowly.
2018-12-11 22:39:39 -05:00
Daniel Lemire
0b48fb8bd7
Removing memory leaks.
2018-12-11 17:20:29 -05:00
Daniel Lemire
e8d3d784ab
More fixing.
2018-12-10 22:21:03 -05:00
Daniel Lemire
05636f3a1d
Cleaning.
2018-12-10 16:47:02 -05:00
Daniel Lemire
8615760331
Should now pass.
2018-12-10 15:16:31 -05:00
Daniel Lemire
176d2ccda4
Tweaking.
2018-12-10 14:25:49 -05:00
Daniel Lemire
71cdb8d825
Adding memory allocations as part of the benchmark
2018-12-06 22:34:18 -05:00
Daniel Lemire
beb030fc16
Tweaking
2018-12-06 22:23:57 -05:00
Daniel Lemire
c2913d5d69
Adding dynamic memory allocation.
2018-12-06 21:44:26 -05:00
Daniel Lemire
8589a0588b
More clever parse function.
2018-12-06 17:40:32 -05:00
Daniel Lemire
c8706c66ec
Solving some build issues
2018-12-05 21:33:32 -05:00
Daniel Lemire
e3a4b41c2e
Cleaning.
2018-11-30 22:02:32 -05:00
Daniel Lemire
c11eefca32
More cleaning.
2018-11-30 21:31:05 -05:00
Daniel Lemire
a8b99984f2
Intermediate step.
2018-11-30 20:27:16 -05:00
Daniel Lemire
e5707331e9
Some refactoring.
2018-11-30 09:37:57 -05:00
Daniel Lemire
12b518578d
Ok, the new code seems quite fast.
2018-11-29 22:15:02 -05:00
Daniel Lemire
f143d4e3f4
Adding cache access stats.
2018-11-28 10:53:57 -05:00
Daniel Lemire
8648c4108e
MOre cleaning.
2018-11-27 20:42:35 -05:00
Daniel Lemire
58ac242770
Ok. Let us benchmark this thing.
2018-11-27 15:05:50 -05:00
Daniel Lemire
a43b0772e1
Lots and lots of cleaning.
2018-11-27 14:37:59 -05:00
Daniel Lemire
5fae7b2100
Still working
2018-11-27 10:10:39 -05:00
Daniel Lemire
86a75462c5
Adding the ability of doing a dump.
2018-11-23 22:20:57 -05:00
Daniel Lemire
5bdf19bb18
Removing parsers that are unfair.
2018-11-20 20:08:02 -05:00
Daniel Lemire
21ee490d18
Added memcpy.
2018-11-20 18:06:03 -05:00
Daniel Lemire
e4d4158e3f
Added dependencies.
2018-11-20 16:43:22 -05:00
Daniel Lemire
bbff6c3edb
Added another ref.
2018-11-20 14:32:12 -05:00
Daniel Lemire
7647cb2e49
Added dropbox
2018-11-20 14:09:43 -05:00
Daniel Lemire
76074a821f
Various cleaning steps.
2018-11-09 21:31:14 -05:00
Daniel Lemire
df65de4ae2
Tuning presentation and fixing a problem with minifier benchmark.
2018-10-23 21:36:32 -04:00
Daniel Lemire
6cc5131f7a
Adding an allparserscheckfile program.
2018-10-17 12:00:44 -04:00
Daniel Lemire
aeacd26366
Adding mispredicted branch counts.
2018-10-04 09:47:34 -04:00
Daniel Lemire
930533b6da
Normalizing the number of cycles.
2018-10-04 09:33:41 -04:00
Daniel Lemire
577d6792f4
Integrating sajson.
2018-09-28 00:00:52 -04:00
Daniel Lemire
1c8339297d
With new number parser (faster!). Removing the dependency on the doubleconv library (which proves to be useless).
2018-09-26 23:35:33 -04:00
Geoff Langdale
9f91650e72
Remove old 4-stage path.
2018-09-26 15:22:55 +10:00
Daniel Lemire
dee1bbe54e
Integrating the new 3-stage approach.
2018-09-25 17:26:58 -04:00
Geoff Langdale
77bfe6c984
Fix some bad messages and the failure to parse key strings.
2018-09-24 10:54:29 +10:00
Geoff Langdale
053f04b15d
Crude first cut of "stage34", a unified code-based DFA with explicit stack for stages 3 and 4.
2018-09-24 10:42:30 +10:00
Daniel Lemire
94ea7cefb0
Moving include files into a sensible subdirectory.
2018-08-20 17:51:38 -04:00
Daniel Lemire
ef0d14c35c
Minor fixes + new scripts.
2018-08-20 17:40:50 -04:00
Daniel Lemire
e76d25425a
Another missing file.
2018-08-20 17:30:30 -04:00
Daniel Lemire
f814bf6eab
Mising file.
2018-08-20 17:30:00 -04:00
Daniel Lemire
fb65be64bb
Major surgery.
2018-08-20 17:27:25 -04:00
Daniel Lemire
726eb5a030
Moved the files into subdirectories.
2018-08-20 14:45:51 -04:00