allthingssecurity commented on PR #29374: URL: https://github.com/apache/camel/pull/29374#issuecomment-6704489720
JMH result, as the design asks (route with five steps, a consumer commit and an `InOnly` send to seda with handover; average time per message): | Build | Listener | Mean (ns/op) | 99.9% CI | Trials (3 forks each) | |---|---|---|---|---| | A: main (merge base 91e44cf13c8c) | none | 1526 | ± 39 | 5 | | B: this PR (4122cd3c11a4) | none | 1517 | ± 44 | 4 | | B: this PR | one no-op `StepListener` | 1695 | ± 47 | 4 | - **Without a listener, this PR is within noise of main** (B 1517 vs A 1526; the per-trial scores of A range 1488..1578 and of B 1491..1558). A class check confirms that B with no listener builds no wrappers. - **With one no-op listener** the route costs about 170 ns more per message (about 11%). It has 5 steps, each giving a call, a return and a callback event, so about 34 ns per step. That is the price of the dev-mode feature when it is on; it is never on by default. Settings: JMH 1.37, `avgt`, 3 forks, 5 warmup and 10 measurement iterations of 1 s, 1 thread, `-gc true`, 1 GB heap; JDK 21.0.11; the A, B and C trials interleaved in rotating order over 4 rounds, with A repeated at the end. Only `camel-api` and `camel-base-engine` differ between A and B; every other Camel module comes from the same merge-base build. This ran on a shared laptop (Apple M4 Pro) with background indexing, so the absolute numbers are noisy; the comparison is what counts. The benchmark class (`StepListenerTest` in `tests/camel-jmh`) goes to apache/camel-performance-tests once that repo builds against a Camel version with CAMEL-26688. Moving the PR out of draft now. _Claude Code on behalf of allthingssecurity_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
