simdjson/benchmark
John Keiser de8df0a05f Combined performance patch (5% overall, 15% stage 1) (#317)
* Allow -f

* Support parse -s (force sse)

* Simplify flatten_bits

- Add directly to base instead of storing variable
- Don't modify base_ptr after beginning of function
- Eliminate base variable and increment base_ptr instead

* De-unroll the flatten_bits loops

* Decrease dependencies in stage 1

- Do all finalize_structurals work before computing the quote mask; mask
  out the quote mask later
- Join find_whitespace_and_structurals and finalize_structurals into
  single find_structurals call, to reduce variable leakage
- Rework pseudo_pred algorithm to refer to "primitive" for clarity and some
  dependency reduction
- Rename quote_mask to in_string to describe what we're trying to
  achieve ("mask" could mean many things)
- Break up find_quote_mask_and_bits into find_quote_mask and
  invalid_string_bytes to reduce data leakage (i.e. don't expose quote bits
  or odd_ends at all to find_structural_bits)
- Genericize overflow methods "follows" and "follows_odd_sequence" for
  descriptiveness and possible lifting into a generic simd parsing library

* Mark branches as likely/unlikely

* Reorder and unroll+interleave stage 1 loop

* Nest the cnt > 16 branch inside cnt > 8
2019-10-01 12:01:08 -04:00
..
linux Adding style scripts. (#243) 2019-08-01 16:09:26 -04:00
CMakeLists.txt check for performance degradation in CI (#270) 2019-08-12 16:03:56 -04:00
Dockerfile check for performance degradation in CI (#270) 2019-08-12 16:03:56 -04:00
benchmark.h Style uniformization (#238) 2019-07-30 17:18:10 -04:00
distinctuseridcompetition.cpp Style uniformization (#238) 2019-07-30 17:18:10 -04:00
minifiercompetition.cpp Style uniformization (#238) 2019-07-30 17:18:10 -04:00
parse.cpp Combined performance patch (5% overall, 15% stage 1) (#317) 2019-10-01 12:01:08 -04:00
parseandstatcompetition.cpp Accept large unsigned integers (#295) 2019-09-02 10:50:24 -04:00
parsingcompetition.cpp simdjson vs. JSON for Modern C++ (#247) 2019-08-02 19:48:34 -04:00
perfdiff.cpp This should lower false positives. (#299) 2019-08-25 09:33:00 -04:00
statisticalmodel.cpp Accept large unsigned integers (#295) 2019-09-02 10:50:24 -04:00