John Keiser
c5bb74d184
Pave the way for non-record-based benchmarks
2020-10-04 12:47:30 -07:00
Daniel Lemire
874349c928
Making the code cleaner.
2020-10-04 12:47:30 -07:00
Daniel Lemire
157604b3a5
I think that this is better (fairer) code.
2020-10-04 12:47:30 -07:00
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