mirror of
https://github.com/biojppm/rapidyaml.git
synced 2026-01-18 21:41:18 +01:00
v0.10.0
This commit is contained in:
@@ -48,7 +48,7 @@ PROJECT_NAME = rapidyaml
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 0.9.0
|
||||
PROJECT_NUMBER = 0.10.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -10,7 +10,7 @@ import os
|
||||
project = 'rapidyaml'
|
||||
copyright = '2018-2024 Joao Paulo Magalhaes <dev@jpmag.me>'
|
||||
author = 'Joao Paulo Magalhaes <dev@jpmag.me>'
|
||||
release = '0.9.0'
|
||||
release = '0.10.0'
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# rapidyaml
|
||||
|
||||
* Begin by looking at the [project's README](https://github.com/biojppm/rapidyaml/blob/v0.9.0/README.md)
|
||||
* Begin by looking at the [project's README](https://github.com/biojppm/rapidyaml/blob/v0.10.0/README.md)
|
||||
* [Documentation page](https://rapidyaml.readthedocs.org)
|
||||
* Next, skim the docs for the @ref doc_quickstart sample.
|
||||
* Good! Now the main ryml topics:
|
||||
|
||||
@@ -72,7 +72,7 @@ API teaser
|
||||
Here's a short teaser from the API quickstart overview (`see on
|
||||
doxygen <doxygen/group__doc__quickstart.html>`_ / `see full code on
|
||||
github
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/quickstart.cpp>`_):
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/quickstart.cpp>`_):
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
|
||||
@@ -25,11 +25,11 @@ faster.
|
||||
nicely as claimed here, we would definitely like to see it! Please
|
||||
open an issue, or submit a pull request adding the file to
|
||||
`bm/cases
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases>`__, or
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases>`__, or
|
||||
just send us the files.
|
||||
|
||||
`Here’s a parsing benchmark
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/bm_parse.cpp>`__. Using
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/bm_parse.cpp>`__. Using
|
||||
different approaches within ryml (in-situ/read-only vs. with/without
|
||||
reuse), a YAML / JSON buffer is repeatedly parsed, and compared
|
||||
against other libraries.
|
||||
@@ -40,7 +40,7 @@ Comparison with yaml-cpp
|
||||
|
||||
The first result set is for Windows, and is using a `appveyor.yml
|
||||
config file
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/appveyor.yml>`__. A
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/appveyor.yml>`__. A
|
||||
comparison of these results is summarized on the table below:
|
||||
|
||||
=========================== ===== ======= ==========
|
||||
@@ -52,11 +52,11 @@ appveyor / vs2017 / Debug 6.4 0.0844 76x / 1.3%
|
||||
|
||||
The next set of results is taken in Linux, comparing g++ 8.2 and
|
||||
clang++ 7.0.1 in parsing a YAML buffer from a `travis.yml config file
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/travis.yml>`__
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/travis.yml>`__
|
||||
or a JSON buffer from a `compile_commands.json file
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/compile_commands.json>`__. You
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/compile_commands.json>`__. You
|
||||
can `see the full results here
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/results/parse.linux.i7_6800K.md>`__. Summarizing:
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/results/parse.linux.i7_6800K.md>`__. Summarizing:
|
||||
|
||||
========================== ===== ======= ========
|
||||
Read rates (MB/s) ryml yamlcpp compared
|
||||
@@ -89,9 +89,9 @@ So how does ryml compare against other JSON readers? Well, it may not
|
||||
be the fastest, but it's definitely ahead of the pack!
|
||||
|
||||
The benchmark is the `same as above
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/bm_parse.cpp>`__,
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/bm_parse.cpp>`__,
|
||||
and it is reading the `compile_commands.json
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/cases/compile_commands.json>`__,
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/cases/compile_commands.json>`__,
|
||||
The ``_arena`` suffix notes parsing a read-only buffer (so buffer
|
||||
copies are performed), while the ``_inplace`` suffix means that the
|
||||
source buffer can be parsed in place. The ``_reuse`` means the data
|
||||
@@ -131,7 +131,7 @@ Performance emitting
|
||||
--------------------
|
||||
|
||||
`Emitting benchmarks
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/bm/bm_emit.cpp>`__
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/bm/bm_emit.cpp>`__
|
||||
also show similar speedups from the existing libraries, also
|
||||
anecdotally reported by some users `(eg, here’s a user reporting 25x
|
||||
speedup from yaml-cpp)
|
||||
|
||||
@@ -70,11 +70,11 @@ are string views into the source buffer, and not typed. With that
|
||||
said, it is really fast, and once you have the tree, you can still walk
|
||||
over the tree to create the native python structure. Have a look at
|
||||
this `test file
|
||||
<https://github.com/biojppm/rapidyaml/tree/v0.9.0/api/python/tests/test_readme.py>`__
|
||||
<https://github.com/biojppm/rapidyaml/tree/v0.10.0/api/python/tests/test_readme.py>`__
|
||||
to see how the python API works, and to judge whether it may be useful to your
|
||||
case.
|
||||
|
||||
As for performance, in a `timeit benchmark <https://github.com/biojppm/rapidyaml/tree/v0.9.0/api/python/bm/parse_bm.py>`__ comparing against
|
||||
As for performance, in a `timeit benchmark <https://github.com/biojppm/rapidyaml/tree/v0.10.0/api/python/bm/parse_bm.py>`__ comparing against
|
||||
`PyYaml <https://pyyaml.org/>`__ and
|
||||
`ruamel.yaml <https://yaml.readthedocs.io/en/latest/>`__, ryml parses
|
||||
quicker by generally 100x and up to 400x:
|
||||
|
||||
@@ -15,11 +15,11 @@ Quick links
|
||||
|
||||
* `Kanban board <https://github.com/users/biojppm/projects/1/views/1>`_
|
||||
|
||||
* Latest release: `0.9.0 <https://github.com/biojppm/rapidyaml/releases/tag/v0.9.0>`_
|
||||
* Latest release: `0.10.0 <https://github.com/biojppm/rapidyaml/releases/tag/v0.10.0>`_
|
||||
|
||||
* `Release page [0.9.0] <https://github.com/biojppm/rapidyaml/releases/tag/v0.9.0>`_
|
||||
* `Release page [0.10.0] <https://github.com/biojppm/rapidyaml/releases/tag/v0.10.0>`_
|
||||
|
||||
* `README [0.9.0] <https://github.com/biojppm/rapidyaml/blob/v0.9.0/README.md>`_
|
||||
* `README [0.10.0] <https://github.com/biojppm/rapidyaml/blob/v0.10.0/README.md>`_
|
||||
|
||||
* Since latest release (master branch):
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(ryml
|
||||
GIT_REPOSITORY https://github.com/biojppm/rapidyaml.git
|
||||
GIT_TAG v0.9.0
|
||||
GIT_TAG v0.10.0
|
||||
GIT_SHALLOW FALSE # ensure submodules are checked out
|
||||
)
|
||||
FetchContent_MakeAvailable(ryml)
|
||||
|
||||
@@ -19,7 +19,7 @@ Quickstart build samples
|
||||
|
||||
These samples show different ways of getting ryml into your application.
|
||||
All the samples use `the same quickstart executable
|
||||
source <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/quickstart.cpp>`__, but are built in different ways,
|
||||
source <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/quickstart.cpp>`__, but are built in different ways,
|
||||
showing several alternatives to integrate ryml into your project. We
|
||||
also encourage you to refer to the `quickstart
|
||||
docs <doxygen/group__doc__quickstart.html>`__, which extensively covers
|
||||
@@ -41,27 +41,27 @@ more about each sample:
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| Sample name | ryml is part of build? | cmake file | commands |
|
||||
+==========================================================================================================+==================================+===================================================================================================================+==================================================================================================================+
|
||||
| `singleheader <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheader>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheader/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheader/run.sh>`_ |
|
||||
| `singleheader <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheader>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheader/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheader/run.sh>`_ |
|
||||
| | | ryml brought as a single | | |
|
||||
| | | header, not as a library | | |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| `singleheaderlib <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib/CMakeLists.txt>`_ | | `run_shared.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib/run_shared.sh>`_ |
|
||||
| | | ryml brought as library | | | `run_static.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib/run_static.sh>`_ |
|
||||
| `singleheaderlib <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib/CMakeLists.txt>`_ | | `run_shared.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib/run_shared.sh>`_ |
|
||||
| | | ryml brought as library | | | `run_static.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib/run_static.sh>`_ |
|
||||
| | | but from the single header | | |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| `singleheader-ints <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheader-ints>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheader-ints/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheader-ints/run.sh>`_ |
|
||||
| `singleheader-ints <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheader-ints>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheader-ints/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheader-ints/run.sh>`_ |
|
||||
| | | ryml brought as a single | | |
|
||||
| | | header, not as a library | | |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| `singleheaderlib-ints <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib-ints>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib-ints/CMakeLists.txt>`_ | | `run_shared.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib-ints/run_shared.sh>`_ |
|
||||
| | | ryml brought as library | | | `run_static.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/singleheaderlib-ints/run_static.sh>`_ |
|
||||
| `singleheaderlib-ints <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib-ints>`_ | | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib-ints/CMakeLists.txt>`_ | | `run_shared.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib-ints/run_shared.sh>`_ |
|
||||
| | | ryml brought as library | | | `run_static.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/singleheaderlib-ints/run_static.sh>`_ |
|
||||
| | | but from the single header | | |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| `add_subdirectory <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/add_subdirectory>`_ | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/add_subdirectory/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/add_subdirectory/run.sh>`_ |
|
||||
| `add_subdirectory <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/add_subdirectory>`_ | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/add_subdirectory/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/add_subdirectory/run.sh>`_ |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| `fetch_content <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/fetch_content>`_ | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/fetch_content/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/fetch_content/run.sh>`_ |
|
||||
| `fetch_content <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/fetch_content>`_ | **yes** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/fetch_content/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/fetch_content/run.sh>`_ |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
| `find_package <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/find_package>`_ | | **no** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/find_package/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/find_package/run.sh>`_ |
|
||||
| `find_package <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/find_package>`_ | | **no** | `CMakeLists.txt <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/find_package/CMakeLists.txt>`_ | `run.sh <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/find_package/run.sh>`_ |
|
||||
| | | needs prior install or package | | |
|
||||
+----------------------------------------------------------------------------------------------------------+----------------------------------+-------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+
|
||||
|
||||
@@ -71,7 +71,7 @@ As a single-header
|
||||
|
||||
ryml is provided chiefly as a cmake library project, but it can also
|
||||
be used as a single header file, and there is a `tool to amalgamate
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.9.0/tools/amalgamate.py>`__
|
||||
<https://github.com/biojppm/rapidyaml/blob/v0.10.0/tools/amalgamate.py>`__
|
||||
the code into a single header file. The amalgamated header file is
|
||||
provided with each release, but you can also generate a customized
|
||||
file suiting your particular needs (or commit):
|
||||
@@ -212,7 +212,7 @@ that c4core is a submodule of the current repo. However, it is still
|
||||
possible to use a c4core version different from the one in the repo (of
|
||||
course, only if there are no incompatibilities between the versions).
|
||||
You can find out how to achieve this by looking at the
|
||||
`custom_c4core sample <https://github.com/biojppm/rapidyaml/blob/v0.9.0/samples/custom_c4core/CMakeLists.txt>`__.
|
||||
`custom_c4core sample <https://github.com/biojppm/rapidyaml/blob/v0.10.0/samples/custom_c4core/CMakeLists.txt>`__.
|
||||
|
||||
|
||||
CMake build settings for ryml
|
||||
|
||||
Reference in New Issue
Block a user