Vivek1106-04 commented on PR #12418: URL: https://github.com/apache/seatunnel/pull/12418#issuecomment-5760121562
Full sweep on this branch, replacing the smoke numbers in the description. `Mode.SampleTime`, 3 forks, 3 warmup and 5 measurement iterations, JDK 17, `-Xms4g -Xmx4g -XX:ActiveProcessorCount=4`, `checkpointIntervalMillis=1000`. All figures us/op. | P | body us | mean | p50 | p99 | p99.9 | scheduler threads | |---|---|---|---|---|---|---| | 1 | 0 | 6.75 | 6.74 | 10.03 | 17.89 | 1 | | 1 | 500 | 6.51 | 6.62 | 10.03 | 24.03 | 1 | | 10 | 0 | 7.07 | 7.04 | 9.74 | 14.37 | 10 | | 10 | 500 | 7.11 | 7.08 | 9.79 | 13.49 | 11 | | 100 | 0 | 8.84 | 8.37 | 12.86 | 18.53 | 101 | | 100 | 500 | 9.77 | 9.33 | 18.69 | 23.88 | 101 | | 500 | 0 | 46.66 | 45.70 | 83.71 | 201.73 | 508 | | 500 | 500 | 46.17 | 45.12 | 79.23 | 208.90 | 509 | Errors on the means are 0.003 to 0.086 us. The benchmark resolves the thing it was built to resolve: scheduling delay is flat from 1 to 100 pipelines and then has a knee, reaching 6.8x the single-pipeline figure at 500, while the thread count tracks the pipeline count exactly as `newScheduledThreadPool(2, ...)` per coordinator implies. The `max` column is left out on purpose. It is one sample out of several million and is noisy here (333 us to 4096 us across these rows), so it is not a statistic worth reading. I ran the same benchmark with a second arm for the #12165 shared scheduler, and posted that comparison, a dispatch-saturation sweep, and a trace of what the dispatch body actually does on https://github.com/apache/seatunnel/issues/12339#issuecomment-5760116122 rather than here, since it is about that design rather than about this benchmark. The short version relevant to this PR is that the benchmark separates the two scheduling models cleanly, including locating a regime where the shared model is four orders of magnitude worse, which was the point of building it. These are single-machine numbers on JDK 17, while the workflow matrix is Java 8 and 11. Now that the benchmark is in the `benchmarks.yml` dispatch list it can be run on CI hardware against either branch if you want the figures confirmed there. -- 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]
