Repository navigation
docs: CPU optimization analysis with real-hardware measurements - #14
Closed
facontidavide wants to merge 2 commits into
Closed
facontidavide wants to merge 2 commits into
facontidavide wants to merge 2 commits into
Conversation
…arks Analysis-only working notes for a profiling pass on a ROS2 machine. No production code is touched. docs/CPU_OPTIMIZATION.md Findings across the backend-agnostic core plus a ROS2-specific deep dive. Every claim is tagged [measured], [derived] or [inferred]; the entire ROS2 section is [inferred], since the analysis environment had no ROS2 install. Includes a prioritized change list and a perf/pidstat recipe to confirm or falsify the ranking before any code is written. docs/MESSAGE_TRANSFORMS.md Proposed opt-in, configurable MessageTransform abstraction for payload compression. Anchored on the protocol constraint that a payload encoding is advertised per subscription and cannot vary per message. Places the stage between the subscription manager and MessageBuffer so the rate gate, size-class split, serializer and backpressure policy are all unaffected. docs/perf/ Four standalone micro-benchmarks reproducing the [measured] numbers, with recorded reference results. Not wired into the build; they replicate code shapes rather than linking the real targets, so they need no ROS2 or DDS. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BpdKENjm9t2LddEohoD2Ut
…come Replaces the [inferred] ROS2 analysis with perf/pidstat measurements on real bags: wait-set rebuild dominates the many-small-messages regime, zstd (not copies) dominates heavy frames, and IXWebSocket was re-deflating zstd frames. Records the before/after of branch perf/cpu-fixes and which items were skipped as measured-negligible. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
6 of 8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
docs/CPU_OPTIMIZATION.md: CPU analysis of the bridge. The original pass was done without ROS2; this adds §2.0 (perf/pidstat on real bags) and §2.9 (outcome of the fix pass in the companionperf/cpu-fixesPR), and corrects two conclusions: on heavy frames zstd dominates (60–65%), not copies; and the executor wait-set rebuild is confirmed as the dominant cost with many small topics.docs/MESSAGE_TRANSFORMS.md: proposed opt-in transform architecture (unchanged proposal).docs/perf/: standalone micro-benchmarks with reference results from two machines.Docs and standalone benchmark sources only; nothing is added to the build.
🤖 Generated with Claude Code