fktn-k / fkYAML

A C++ header-only YAML library
MIT License
67 stars 7 forks source link

Separate scalar parsing from lexical analysis #409

Open fktn-k opened 2 hours ago

fktn-k commented 2 hours ago
In this PR, scalar parsing has been separated from lexical analysis, and a lot of unnecessary conditional branches and heap allocations are thus reduced since the separation reduces complexities in each operations.
The performance of the whole deserialization process has therefore been increased by 5 Mi/s on average.
parsed YAML file Before this PR After this PR
ubuntu.yml 50.4621Mi/s 55.1393Mi/s
citm_catalog.json 75.5534Mi/s 82.9931Mi/s
citm_catalog.yml 32.7921Mi/s 35.152Mi/s

Pull Request Checklist

Read the CONTRIBUTING.md file for detailed information.

Please don't

github-actions[bot] commented 2 hours ago

:octocat: Upload Coverage Event Notification

Coverage data has been uploaded for the commit 6a103eccc5f39be4d036ba7a0b961ff1dd42c898. You can download the artifact which contains the same file uploaded to the Coveralls and its HTML version.

Name fkYAML_coverage.pr409.zip
ID 2048920277
URL https://github.com/fktn-k/fkYAML/actions/runs/11307573896/artifacts/2048920277