@@ -38,9 +38,10 @@ against other libraries.
38
38
Comparison with yaml-cpp
39
39
------------------------
40
40
41
- The first result set is for Windows, and is using a `appveyor.yml config
42
- file <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/appveyor.yml> `__. A comparison of these results is
43
- summarized on the table below:
41
+ The first result set is for Windows, and is using a `appveyor.yml
42
+ config file
43
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/appveyor.yml> `__. A
44
+ comparison of these results is summarized on the table below:
44
45
45
46
=========================== ===== ======= ==========
46
47
Read rates (MB/s) ryml yamlcpp compared
@@ -49,12 +50,13 @@ appveyor / vs2017 / Release 101.5 5.3 20x / 5.2%
49
50
appveyor / vs2017 / Debug 6.4 0.0844 76x / 1.3%
50
51
=========================== ===== ======= ==========
51
52
52
- The next set of results is taken in Linux, comparing g++ 8.2 and clang++
53
- 7.0.1 in parsing a YAML buffer from a `travis.yml config
54
- file <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/travis.yml> `__ or a JSON buffer from a
55
- `compile_commands.json file <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/compile_commands.json >`__. You
56
- can `see the full results
57
- here <https://github.com/biojppm/rapidyaml/blob/v0.5.0/results/parse.linux.i7_6800K.md> `__. Summarizing:
53
+ The next set of results is taken in Linux, comparing g++ 8.2 and
54
+ clang++ 7.0.1 in parsing a YAML buffer from a `travis.yml config file
55
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/travis.yml> `__
56
+ or a JSON buffer from a `compile_commands.json file
57
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/compile_commands.json> `__. You
58
+ can `see the full results here
59
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/results/parse.linux.i7_6800K.md> `__. Summarizing:
58
60
59
61
========================== ===== ======= ========
60
62
Read rates (MB/s) ryml yamlcpp compared
@@ -86,13 +88,14 @@ Performance reading JSON
86
88
So how does ryml compare against other JSON readers? Well, it may not
87
89
be the fastest, but it's definitely ahead of the pack!
88
90
89
- The benchmark is the `same as above <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/bm_parse.cpp >`__, and it is
90
- reading the
91
- `compile_commands.json <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/compile_commands.json >`__, The
92
- ``_arena `` suffix notes parsing a read-only buffer (so buffer copies are
93
- performed), while the ``_inplace `` suffix means that the source buffer
94
- can be parsed in place. The ``_reuse `` means the data tree and/or parser
95
- are reused on each benchmark repeat.
91
+ The benchmark is the `same as above
92
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/bm_parse.cpp> `__,
93
+ and it is reading the `compile_commands.json
94
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/cases/compile_commands.json> `__,
95
+ The ``_arena `` suffix notes parsing a read-only buffer (so buffer
96
+ copies are performed), while the ``_inplace `` suffix means that the
97
+ source buffer can be parsed in place. The ``_reuse `` means the data
98
+ tree and/or parser are reused on each benchmark repeat.
96
99
97
100
Here’s what we get with g++ 8.2:
98
101
@@ -127,12 +130,14 @@ result).
127
130
Performance emitting
128
131
--------------------
129
132
130
- `Emitting benchmarks <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/bm_emit.cpp >`__ also show similar speedups from
131
- the existing libraries, also anecdotally reported by some users `(eg,
132
- here’s a user reporting 25x speedup from
133
- yaml-cpp) <https://github.com/biojppm/rapidyaml/issues/28#issue-553855608> `__.
134
- Also, in some cases (eg, block folded multiline scalars), the speedup is
135
- as high as 200x (eg, 7.3MB/s -> 1.416MG/s).
133
+ `Emitting benchmarks
134
+ <https://github.com/biojppm/rapidyaml/blob/v0.5.0/bm/bm_emit.cpp> `__
135
+ also show similar speedups from the existing libraries, also
136
+ anecdotally reported by some users `(eg, here’s a user reporting 25x
137
+ speedup from yaml-cpp)
138
+ <https://github.com/biojppm/rapidyaml/issues/28#issue-553855608> `__.
139
+ Also, in some cases (eg, block folded multiline scalars), the speedup
140
+ is as high as 200x (eg, 7.3MB/s -> 1.416MG/s).
136
141
137
142
138
143
Serialization performance
0 commit comments