fair-acc / opencmw-cpp

Open Common Middle-Ware library for accelerator equipment- and beam-based control systems at FAIR.
https://opencmw.io
GNU Lesser General Public License v3.0
10 stars 8 forks source link

IoBuffer & IoSerialiserYaS improvements & {fmt} format fixes #318

Closed RalphSteinhagen closed 1 year ago

RalphSteinhagen commented 1 year ago

IoBuffer & IoSerialiserYaS improvements & {fmt} format fixes

No performance regression, rather a slight improvement on all serialisers:

Before:
┌─protocol─┬────────ALWAYS─────────┬────────LENIENT────────┬────────IGNORE─────────┐
│   YAML   │131.8 MB/s ± 547.8 kB/s│127.4 MB/s ± 147.6 kB/s│132.1 MB/s ± 190.4 kB/s│
│   Json   │305.1 MB/s ±   1.6 MB/s│301.4 MB/s ±   1.5 MB/s│305.4 MB/s ±   2.1 MB/s│
│   YaS    │  7.0 GB/s ±  14.6 MB/s│  6.4 GB/s ±   6.0 MB/s│  7.8 GB/s ±  10.2 MB/s│
│ CmwLight │  8.1 GB/s ±  13.7 MB/s│  7.7 GB/s ±  11.9 MB/s│  8.5 GB/s ±  12.1 MB/s│
└──────────┴───────────────────────┴───────────────────────┴───────────────────────┘
After IoBuffer clean-up:
┌─protocol─┬────────ALWAYS─────────┬────────LENIENT────────┬────────IGNORE─────────┐
│   YAML   │127.2 MB/s ±   2.0 MB/s│129.5 MB/s ± 401.7 kB/s│127.5 MB/s ± 272.4 kB/s│
│   Json   │314.3 MB/s ±   1.5 MB/s│315.0 MB/s ±   1.8 MB/s│316.4 MB/s ±   1.8 MB/s│
│   YaS    │  6.9 GB/s ±  36.5 MB/s│  6.4 GB/s ±  18.6 MB/s│  7.5 GB/s ±  40.3 MB/s│
│ CmwLight │  8.0 GB/s ±  40.2 MB/s│  7.7 GB/s ±  54.9 MB/s│  8.5 GB/s ±  39.0 MB/s│
└──────────┴───────────────────────┴───────────────────────┴───────────────────────┘
After YaS unused fieldname hash removal:
┌─protocol─┬────────ALWAYS─────────┬────────LENIENT────────┬────────IGNORE─────────┐
│   YAML   │126.9 MB/s ± 582.4 kB/s│127.0 MB/s ± 305.6 kB/s│127.0 MB/s ± 420.9 kB/s│
│   Json   │300.2 MB/s ±   2.2 MB/s│303.6 MB/s ±   1.8 MB/s│301.5 MB/s ±   1.9 MB/s│
│   YaS    │  7.2 GB/s ±  30.5 MB/s│  6.6 GB/s ±  20.5 MB/s│  8.0 GB/s ±  37.0 MB/s│
│ CmwLight │  8.0 GB/s ±  36.2 MB/s│  7.7 GB/s ±  17.3 MB/s│  8.7 GB/s ±  68.3 MB/s│
└──────────┴───────────────────────┴───────────────────────┴───────────────────────┘
codecov[bot] commented 1 year ago

Codecov Report

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

Comparison is base (df17c90) 55.83% compared to head (28e330b) 56.09%. Report is 2 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #318 +/- ## ========================================== + Coverage 55.83% 56.09% +0.26% ========================================== Files 65 65 Lines 7202 7061 -141 Branches 2626 2614 -12 ========================================== - Hits 4021 3961 -60 + Misses 1510 1432 -78 + Partials 1671 1668 -3 ``` | [Files](https://app.codecov.io/gh/fair-acc/opencmw-cpp/pull/318?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=fair-acc) | Coverage Δ | | |---|---|---| | [src/core/include/opencmw.hpp](https://app.codecov.io/gh/fair-acc/opencmw-cpp/pull/318?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=fair-acc#diff-c3JjL2NvcmUvaW5jbHVkZS9vcGVuY213LmhwcA==) | `63.53% <ø> (-1.36%)` | :arrow_down: | | [src/serialiser/include/IoSerialiserYaS.hpp](https://app.codecov.io/gh/fair-acc/opencmw-cpp/pull/318?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=fair-acc#diff-c3JjL3NlcmlhbGlzZXIvaW5jbHVkZS9Jb1NlcmlhbGlzZXJZYVMuaHBw) | `79.05% <100.00%> (ø)` | | | [src/serialiser/include/IoBuffer.hpp](https://app.codecov.io/gh/fair-acc/opencmw-cpp/pull/318?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=fair-acc#diff-c3JjL3NlcmlhbGlzZXIvaW5jbHVkZS9Jb0J1ZmZlci5ocHA=) | `88.29% <96.15%> (+1.23%)` | :arrow_up: | | [src/serialiser/include/IoSerialiser.hpp](https://app.codecov.io/gh/fair-acc/opencmw-cpp/pull/318?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=fair-acc#diff-c3JjL3NlcmlhbGlzZXIvaW5jbHVkZS9Jb1NlcmlhbGlzZXIuaHBw) | `54.38% <0.00%> (+0.05%)` | :arrow_up: | ... and [29 files with indirect coverage changes](https://app.codecov.io/gh/fair-acc/opencmw-cpp/pull/318/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=fair-acc)

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

sonarcloud[bot] commented 1 year ago

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 19 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication