Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the most pure/basic possible benchmark of the PDU loop. It:
FPWR
frame with 8 bytes of payload data (32 bytes total) and marks it as sendablereceive_frame
which parses the data back out of the bufferThis test doesn't include any networking (not even loopback) because I'm on Windows so it's more a theoretical benchmark to check for regressions in the code than a real-world representation. On my Windows 11 (🤮) Ryzen 9 5950X system I get:
3.8m full frames/sec or 29MiB/sec EtherCAT payload of 8 bytes. I'm sure we can do better but this is a decent starting baseline.
I'll add a Linux benchmark when my test rig arrives which can involve sending traffic over the loopback interface for a more representative sample of the performance.