Daniel Lemire
14039d05a9
Adding a new benchmark for ondemand: distinct user id ( #1239 )
...
* Adding a distinct user id benchmark
* reenabling everything
* Removing an unnecessary "value()".
* Better tests of the examples and some fixes.
* Guarding exception code.
2020-10-23 08:47:01 -04:00
Daniel Lemire
c592da4937
Adds yyjson to our internal benchmarks. ( #1244 )
2020-10-21 16:23:20 -04:00
Daniel Lemire
3e8e797bc2
Typo.
2020-10-19 17:30:52 -04:00
Paul Dreik
7bf391c54a
fix potential use of uninitialized value warning, avoid casting away const
...
This fixes a "potentially use of uninitialized value" warning, as well as a cstyle cast to non-const.
2020-10-16 22:14:42 +02:00
Daniel Lemire
07a6e098c8
This would allow users to find out what builtin is. ( #1227 )
...
* This would allow users to find out what builtin is.
* Trying another approach.
* Added instructions.
* Cleaning up the printout.
* Let us be less invasive.
* Adding a comment.
2020-10-15 21:58:42 -04:00
Daniel Lemire
e4897d6b54
We have hardcoded 32 ( #1236 )
2020-10-15 21:57:10 -04:00
Daniel Lemire
bb2bc98a22
Fix issue https://github.com/simdjson/simdjson/issues/1127 ( #1224 )
2020-10-13 09:18:54 -04:00
Paul Dreik
1d9926698e
update how boost.json is invoked, fix missing separators ( #1203 )
...
* initial try at adding boost json to the benchmark
* clean up
* qualify memcpy etc. with std::
* clang format
* extra space
* update benchmark with help from Vinnie Falco from Boost.json
* add missing separators
2020-10-09 18:22:37 -04:00
John Keiser
5b926b8196
Support array iteration over document
2020-10-06 11:29:45 -07:00
John Keiser
cae91983ec
Fix issue with early destruction
2020-10-06 11:29:45 -07:00
John Keiser
3190ef0c1f
Check benchmark results in release builds
2020-10-06 11:29:45 -07:00
John Keiser
c7c1372833
Allow reuse of value to try multiple types
2020-10-06 11:29:45 -07:00
John Keiser
6d978c383a
Kinder, gentler implementation selection
...
- Allow user to specify SIMDJSON_BUILTIN_IMPLEMENTATION
- Make cmake -DSIMDJSON_IMPLEMENTATION=haswell *only* specify haswell
- Move negative implementation selection to
-DSIMDJSON_EXCLUDE_IMPLEMENTATION
- Automatically select SIMDJSON_BUILTIN_IMPLEMENTATION if
SIMDJSON_IMPLEMENTATION is set
- Move implementation enablement mostly to implementation files
- Make implementation enablement and selection simpler and more robust
- Fix bug where programs linked against simdjson were not passed
SIMDJSON_XXX_IMPLEMENTATION or SIMDJSON_EXCEPTIONS
2020-10-06 11:29:45 -07:00
John Keiser
b70e85fd10
Only include source in bench_sax
2020-10-06 11:29:45 -07:00
John Keiser
30fe86ed32
Use simdjson::builtin instead of haswell/begin+end
2020-10-04 12:47:30 -07:00
John Keiser
b4df0e7c9e
Fix domnoexcept to actually be noexcept
2020-10-04 12:47:30 -07:00
John Keiser
6b219e3e25
Use ::stage2 where it's needed
2020-10-04 12:47:30 -07:00
John Keiser
baf6607e74
Make ondemand build without #include "simdjson.cpp"
2020-10-04 12:47:30 -07:00
John Keiser
a700848bae
Move ondemand implementation to include/
2020-10-04 12:47:30 -07:00
John Keiser
b234d74f43
Remove unnamed namespace from ondemand
2020-10-04 12:47:30 -07:00
John Keiser
49faf7af1a
Make simdjson_result implementation-specific
2020-10-04 12:47:30 -07:00
John Keiser
985b52331a
Require object to be exact and in order
2020-10-04 12:47:30 -07:00
John Keiser
021dded9dd
Add Kostya benchmarks
2020-10-04 12:47:30 -07:00
John Keiser
8fd0cdc732
Iterate value without going through indirection
...
Avoids issues with value being released early
2020-10-04 12:47:30 -07:00
John Keiser
fe7a4d42d3
Fix top level values
2020-10-04 12:47:30 -07:00
John Keiser
e89d6353af
Add a "sum" benchmark with no appending to vector
2020-10-04 12:47:30 -07:00
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
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
4d89076bdc
Check for EOF when skipping containers
...
Revert that?
Or not
2020-10-04 12:47:30 -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
a90b8fb449
Remove depth tracking from ondemand api
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
4065529bdf
Don't try to compile Haswell benchmarks on ARM
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