I recently made a logical flow refactor patch series and was asked to benchmark it to ensure that we were not introducing any performance regressions. In my case, I was lucky that the vital incremental engine nodes already had stopwatches that I could use to compare performance.
However, if I had wanted to test performance of other engine nodes, that would not have been as easy. That's when I came up with this idea. With this change set, we add stopwatches to every incremental engine node automatically. With these stopwatches, we can measure recomputes and we can measure change handlers. This will be a helpful metric to have when finding performance regressions, and it can also offer insight into the time savings between incremental processing and full recomputes. With the addition of new stopwatches to incremental nodes, it means that there are now some redundant stopwatches. For instance, the "lflow_run" stopwatch introduced in this commit now supersedes the existing "build_lflows" stopwatch. However, I have not removed any existing stopwatches in this series. The reason is that I do not want to break any tests or other scripts that rely on these stopwatches. Mark Michelson (4): inc-proc-eng: Add wrappers for callbacks. inc-proc-eng: Add recompute stopwatch. inc-proc-eng: Add change handler stopwatches. inc-proc-eng: Add command to list node stopwatches. lib/inc-proc-eng.c | 60 ++++++++++++++++++++++++++++++++++++++++++---- lib/inc-proc-eng.h | 5 +++- 2 files changed, 60 insertions(+), 5 deletions(-) -- 2.51.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
