John Keiser
b935544d65
Make benchmark output easier to follow
2020-10-04 12:47:30 -07:00
Daniel Lemire
03271df579
This adds a frequency column (useful because if the frequency tanks, then other numbers are suspect).
2020-10-04 12:47:30 -07:00
John Keiser
0633d3a07d
Make branch miss numbers integers
2020-10-04 12:47:30 -07:00
John Keiser
045377a594
Fix errors with g++
2020-10-04 12:47:30 -07:00
John Keiser
b5c8030f19
Fix LargeRandom<OnDemand>
2020-10-04 12:47:30 -07:00
John Keiser
7c2072789c
Fix issue with strings not including their first character
2020-10-04 12:47:30 -07:00
John Keiser
f75e856d2b
Compare records to ensure benchmarks work
2020-10-04 12:47:30 -07:00
John Keiser
44d689bc6e
Make instructions / cycle counters more useful
2020-10-04 12:47:30 -07:00
John Keiser
9e433c2f19
Move benchmarks into their own directories
2020-10-04 12:47:30 -07:00
John Keiser
21b6279b74
Add document-level number/atom parsing
2020-10-04 12:47:30 -07:00
John Keiser
4d89076bdc
Check for EOF when skipping containers
...
Revert that?
Or not
2020-10-04 12:47:30 -07:00
John Keiser
71e4ff7e03
Fix compile errors on C++11/noexcept
2020-10-04 12:47:30 -07:00
John Keiser
d2dfda6583
Ensure iterator is kept alive while iterators are active
2020-10-04 12:47:30 -07:00
John Keiser
6a855f528b
Ensure only leaf values can push the iterator
2020-10-04 12:47:30 -07:00
John Keiser
fb93109c2d
Use default constructors/assignment where possible
2020-10-04 12:47:30 -07:00
John Keiser
bd190af7a3
Require iterators to finish cleanly and release
2020-10-04 12:47:30 -07:00
John Keiser
44268b0c6b
Remove object::has_next
2020-10-04 12:47:30 -07:00
John Keiser
6451e5e7d1
Remove array::has_next
2020-10-04 12:47:30 -07:00
John Keiser
2b3c4c68e4
Ride the lightning
2020-10-04 12:47:30 -07:00
John Keiser
7030cf2433
Release object/array after finished
2020-10-04 12:47:30 -07:00
John Keiser
26d7881b80
Require value to be deleted after most value conversions
2020-10-04 12:47:29 -07:00
John Keiser
21fe42b28c
Release the iterator after use
2020-10-04 12:47:29 -07:00
John Keiser
d5ecf68d26
Make json_iterator_ref unique
2020-10-04 12:47:29 -07:00
John Keiser
0ddff4ec7d
json_iterator * -> json_iterator_ref
2020-10-04 12:47:29 -07:00
John Keiser
283ac3191f
Rename parse->iterate, add iterate_raw
2020-10-04 12:47:29 -07:00
John Keiser
4dd0c80dad
Move current_string_buf_loc to json_iterator
2020-10-04 12:47:29 -07:00
John Keiser
3b53c6ca47
Use json_iterator as shared state instead of document
2020-10-04 12:47:29 -07:00
John Keiser
4e3b4809ea
[WIP] Nascent design doc for on demand
2020-10-04 12:47:29 -07:00
John Keiser
a90b8fb449
Remove depth tracking from ondemand api
2020-10-04 12:47:29 -07:00
John Keiser
1da509027e
Add root number/atom parsing functions
2020-10-04 12:47:29 -07:00
John Keiser
5b96e4761e
Remove side-effecting assumption
2020-10-04 12:47:29 -07:00
John Keiser
311ea79238
Fix noexceptions builds
2020-10-04 12:47:29 -07:00
John Keiser
98be2c91df
Fix SAX benchmarks to actually push to vector
2020-10-04 12:47:29 -07:00
John Keiser
2657e5e226
Fix points SAX to actually record points
2020-10-04 12:47:29 -07:00
John Keiser
cfcb0d4fb7
Use json_iterator in array/object
2020-10-04 12:47:29 -07:00
John Keiser
97d03f3215
token_iterator -> json_iterator
2020-10-04 12:47:29 -07:00
John Keiser
4065529bdf
Don't try to compile Haswell benchmarks on ARM
2020-10-04 12:47:29 -07:00
John Keiser
0a6260b1d8
Fix clang 6 compile issue
2020-10-04 12:47:29 -07:00
John Keiser
12caf2510e
Mark unused variables
2020-10-04 12:47:29 -07:00
John Keiser
a58d2f710d
Fix C++11 error
2020-10-04 12:47:29 -07:00
John Keiser
6be2db8c42
Fix SAX benchmark to actually add tweets
2020-10-04 12:47:29 -07:00
John Keiser
5cf68416d8
Don't bother comparing field names in parserandom
2020-10-04 12:47:29 -07:00
John Keiser
ebcb3c6b3b
On-demand parse implementation
2020-10-04 12:47:29 -07:00
Paul Dreik
04267e0f6b
add boost.json to benchmark ( #1202 )
...
Add boost.json to the benchmark.
It was accepted into boost 20201003, see https://lists.boost.org/Archives/boost/2020/10/250129.php .
The upstream repo is (expected to eventually be migrated to boost): https://github.com/CPPAlliance/json
2020-10-04 10:00:09 +02:00
Daniel Lemire
a540e6afc5
Testing on minimalist alpine (linux) images ( #1200 )
...
* Tweaking header includes to make it safer.
* Adding the actual tests.
* Fixing my syntax.
2020-10-02 13:32:09 -04:00
Daniel Lemire
f1841e48b3
Minor fixes to some headers (tweak) ( #1198 )
2020-10-02 12:29:05 -04:00
Daniel Lemire
9865bb6904
Make it possible to check that an implementation is supported at runtime ( #1197 )
...
* Make it possible to check that an implementation is supported at runtime.
* add CI fuzzing on arm 64 bit
This adds fuzzing on drone.io arm64
For some reason, leak detection had to be disabled. If it is enabled, the fuzzer falsely reports a crash at the end of fuzzing.
Closes : #1188
* Guarding the implementation accesses.
* Better doc.
* Updating cxxopts.
* Make it possible to check that an implementation is supported at runtime.
* Guarding the implementation accesses.
* Better doc.
* Updating cxxopts.
* We need to accomodate cxxopts
Co-authored-by: Paul Dreik <github@pauldreik.se>
2020-10-02 11:04:51 -04:00
Paul Dreik
e06ddea784
add CI fuzzing on arm 64 bit
...
This adds fuzzing on drone.io arm64
For some reason, leak detection had to be disabled. If it is enabled, the fuzzer falsely reports a crash at the end of fuzzing.
Closes : #1188
2020-10-01 10:12:37 +02:00
Daniel Lemire
8b5a89c136
Parsing floats with 19 significant digits should be fine. ( #1191 )
...
* Parsing floats with 19 significant digits should be fine.
* Adding more tests with very long mantissa.
2020-09-29 19:42:43 -04:00
Daniel Lemire
da093c1982
Fixing "undefined behavior" issue in new fast_itoa functions ( #1186 )
...
* Fixing "undefined behavior" issue.
* Simplifying our custom atoi
* Fixing minor bug
2020-09-29 19:17:03 -04:00