Viatorus / emio

A safe and fast high-level and low-level character input/output library for bare-metal and RTOS based embedded systems with a very small binary footprint.
https://viatorus.github.io/emio/
MIT License
131 stars 3 forks source link

perf: detect plain format strings faster #59

Closed Viatorus closed 12 months ago

Viatorus commented 1 year ago

10 times faster but requires some (~10-160) more bytes

codecov-commenter commented 1 year ago

Codecov Report

Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (58b931f) 99.41% compared to head (33926df) 99.38%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #59 +/- ## ========================================== - Coverage 99.41% 99.38% -0.04% ========================================== Files 55 56 +1 Lines 5648 5680 +32 ========================================== + Hits 5615 5645 +30 - Misses 33 35 +2 ``` | [Files](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert) | Coverage Δ | | |---|---|---| | [include/emio/detail/args.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL2RldGFpbC9hcmdzLmhwcA==) | `100.00% <100.00%> (ø)` | | | [include/emio/detail/format/args.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL2RldGFpbC9mb3JtYXQvYXJncy5ocHA=) | `100.00% <ø> (ø)` | | | [include/emio/detail/scan/args.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL2RldGFpbC9zY2FuL2FyZ3MuaHBw) | `100.00% <ø> (ø)` | | | [include/emio/detail/scan/scan\_from.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL2RldGFpbC9zY2FuL3NjYW5fZnJvbS5ocHA=) | `100.00% <100.00%> (ø)` | | | [include/emio/detail/validated\_string.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL2RldGFpbC92YWxpZGF0ZWRfc3RyaW5nLmhwcA==) | `100.00% <100.00%> (ø)` | | | [include/emio/format.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL2Zvcm1hdC5ocHA=) | `100.00% <100.00%> (ø)` | | | [include/emio/scan.hpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-aW5jbHVkZS9lbWlvL3NjYW4uaHBw) | `100.00% <100.00%> (ø)` | | | [test/unit\_test/test\_format\_string.cpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-dGVzdC91bml0X3Rlc3QvdGVzdF9mb3JtYXRfc3RyaW5nLmNwcA==) | `100.00% <100.00%> (ø)` | | | [test/unit\_test/test\_format\_to\_api.cpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-dGVzdC91bml0X3Rlc3QvdGVzdF9mb3JtYXRfdG9fYXBpLmNwcA==) | `100.00% <100.00%> (ø)` | | | [test/unit\_test/test\_scan.cpp](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert#diff-dGVzdC91bml0X3Rlc3QvdGVzdF9zY2FuLmNwcA==) | `100.00% <100.00%> (ø)` | | | ... and [2 more](https://app.codecov.io/gh/Viatorus/emio/pull/59?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Toni+Neubert) | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.