148 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
3b9a395f43 bench jamfile cleanup 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
Rene Rivera
18fe2b4f3b make the library modular usable. 2024-08-24 11:40:15 +10:00
sdarwin
56f3e17163 Docs: list bench command line options 2024-07-25 23:54:35 +03:00
Dmitry Arkhipov
2b9ad2ab33 b2 features for benchmarking are in separate module
This is so that the module could be easily imported in e.g.
project-config.jam and then used for default build, custom build
variants, etc.
2024-03-18 10:58:38 +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
4a1350b16c b2 target to copy benchmark runner to source dir
This can be useful for CI, because otherwise b2 put the runner program
in a directory that is not trivial to deduce.
2023-10-06 16:18:59 +03:00
Dmitry Arkhipov
00c630eb9a b2 target to run benchmarks 2023-10-06 15:53:58 +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
Dmitry Arkhipov
a63c6ff301 b2 feature for standlaone mode 2021-10-04 17:29:28 +03:00
Dmitry Arkhipov
a30b76c51b Remove unnecessary build script code 2021-10-04 17:29:28 +03:00
Dmitry Arkhipov
a160c55549 Revert "gcc-4.8 is supported"
This reverts commit f0ea69fefda1c8b02075814e32d86a74e216cc59.
2021-02-05 22:44:55 +03:00
Dmitry Arkhipov
f0ea69fefd gcc-4.8 is supported 2021-01-28 02:55:15 -08:00
Krystian Stasiowski
8f42799020 Update benchmarks
close #450
2020-10-21 10:50:31 -07:00
Krystian Stasiowski
6a7d34117c C++11 is required
fix #451, close #452
2020-10-21 10:50:19 -07: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
5cfa244250 Update benchmarks
close #227
2020-08-30 16:03:29 -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
f974bf02ed benchmarked libraries are not submodules
fix #70, close #204
2020-08-24 19:02:11 -07:00