120 Commits

Author SHA1 Message Date
Dmitry Arkhipov
f4e359251c fix warnings 2025-02-27 18:05:43 +03:00
Dmitry Arkhipov
c02d8721ef flag for counting conversion time in benchmarks 2025-02-05 10:23:02 +03:00
Dmitry Arkhipov
2e3388a00b benchmarks for direct conversions
So far supports:

* apache_builds.json
* canada.json
* citm_catalog.json
2025-01-24 09:05:26 +03:00
Dmitry Arkhipov
5bdbb23e7c add precise mode support for rapidjson benchmarks 2024-10-17 14:24:45 +03:00
Dmitry Arkhipov
7113c5bc51 refactor choosing benchmark operation 2024-10-14 19:21:19 +03:00
Dmitry Arkhipov
d1c65b3b46 implement skipping inapplicable tests 2024-10-14 19:21:19 +03:00
Dmitry Arkhipov
ec3e05069b other boost bench implementations support different memory resources 2024-10-14 19:21:19 +03:00
Dmitry Arkhipov
03488c1755 refactor benchmark runner
Allocations strategy is now selected separately from implementation.
All flags now support multiple choice, which allows to test several
options in one run.
2024-10-14 19:21:19 +03:00
Dmitry Arkhipov
72b0e8a222 explicitly fail on errors during parsing in benchmarks 2024-09-10 17:07:55 +03:00
Dmitry Arkhipov
bacc644f93 deprecate type aliases 2024-02-09 13:19:49 +03:00
Dmitry Arkhipov
90d858fc70 simple and operator benchmarks use monotonic resource 2023-11-08 22:18:33 +03:00
Dmitry Arkhipov
7a76ac3b11 bench implementation that uses operators 2023-11-08 17:21:18 +03:00
Dmitry Arkhipov
b00f8529cc bench flag to count file read time 2023-11-07 13:37:48 +03:00
Dmitry Arkhipov
b9c830781f run benchmark once before measuring
This puts the input data into memory, which puts multiple trials on
equal ground. Without it the first trial is often radically different
from the following trials.
2023-11-07 13:37:43 +03:00
Dmitry Arkhipov
3b8f86cb05 ignore some overhead when bench counting 2023-11-06 14:54:54 +03:00
Dmitry Arkhipov
8700ab838d use steady_clock for benchmarks 2023-11-06 13:10:00 +03:00
Dmitry Arkhipov
80f8825fae discard only 1 best sample for bench 2023-11-06 11:43:48 +03:00
Dmitry Arkhipov
6af15da206 bench cleanup 2023-11-02 22:14:52 +03:00
Dmitry Arkhipov
285c3aa5a2 mode to not parse numbers 2023-06-23 18:12:08 +03:00
Dmitry Arkhipov
642a9ee8ff option for precise number parsing 2023-05-22 17:57:48 +03:00
Dmitry Arkhipov
602daf81fc allow building benchmark runner without deps 2023-02-12 17:13:30 +03:00
Dmitry Arkhipov
baf0f7c19a option for benchmarking convenience functions 2022-05-14 18:45:17 +03:00
Vinnie Falco
6f895a79cc Refactor basic_parser includes
fix #424
2020-10-04 18:30:22 -07:00
Vinnie Falco
9b86962fbc Add metadata and update repo links 2020-10-04 11:06:25 -07:00
Vinnie Falco
d026d5daed Rename to stream_parser 2020-09-26 17:57:00 -07:00
Vinnie Falco
7cb4ad1884 Rename to basic_parser::write_some (API Change)
fix #394

basic_parser::write is now called write_some
2020-09-24 10:39:25 -07:00
Vinnie Falco
828b6652d1 check error in bench 2020-09-12 16:16:50 -07:00
Krystian Stasiowski
f3d0710e37 Handler specifies structure and string limits 2020-09-09 12:12:50 -07:00
Vinnie Falco
24e8e45690 parser release has a precondition 2020-09-08 17:47:04 -07:00
Vinnie Falco
591e2dc5a5 serializer refactor (API Change):
fix #275

* serialize() replaces to_string()
* serialize.hpp replaces to_string.hpp
* serializer works on all types
* serialize, operator<< work on all types
* reset() takes pointer arguments
* resetting constructor removed
2020-09-07 10:36:26 -07:00
Krystian Stasiowski
3fae437722 Pass total string size to handlers
fix #266
2020-09-05 16:42:52 -07:00
Vinnie Falco
57d7eb8e7f Refactor serializer (API Change) 2020-09-01 17:58:23 -07:00
Krystian Stasiowski
9c0bdfcdd7 RapidJSON benchmarks are run without UTF-8 validation 2020-08-30 15:53:36 -07:00
Krystian Stasiowski
b94d3c14bd Structure size is passed to handlers 2020-08-27 18:44:44 -07:00
Vinnie Falco
832d1fb517 Refactor parsing interfaces (API change) 2020-08-27 13:48:26 -07:00
Vinnie Falco
523332ae81 Tidy up warning and include 2020-08-25 07:02:17 -07:00
Krystian Stasiowski
99ceedaa34 benchmarks validate utf-8
close #203
2020-08-24 18:51:14 -07:00
Krystian Stasiowski
7e7155de59 parser members don't throw, and tidy:
* parser members do not throw
* parse free functions are in parse.hpp

fix #199. close #201
2020-08-24 16:30:48 -07:00
Vinnie Falco
3e4eb3055f Doc work 2020-08-20 15:21:09 -07:00
Vinnie Falco
36c4a1a787 basic_parser is a class template 2020-08-18 15:10:22 -07:00
Vinnie Falco
d2c7de6376 Add value_builder 2020-08-18 13:51:53 -07:00
Krystian Stasiowski
64bfb2e703 Pass raw number literals to handlers
close #142
2020-08-11 16:04:32 -07:00
Krystian Stasiowski
3ac73ec531 Comment and trailing comma support
close #116
2020-07-22 15:40:46 -07:00
Vinnie Falco
927d91f1c7 Add bench option to append branch name 2020-07-04 14:41:34 -07:00
Krystian Stasiowski
904252de0b Fix repo links
close #123
2020-07-03 11:51:58 -07:00
Krystian Stasiowski
86addf23a4 Remove size parameter from object and array handlers 2020-06-30 23:07:22 -04:00
Vinnie Falco
137c1653a8 Refactor string_view include 2020-04-17 14:31:55 -07:00
Vinnie Falco
a47b0f3fc1 storage_ptr uses memory_resource 2020-04-05 13:21:29 -07:00
Vinnie Falco
8e0356ef7a Refactor parser write 2020-04-04 13:15:40 -07:00
Vinnie Falco
2545475bdd basic_parser is a base 2020-04-04 06:58:55 -07:00