This series of patches greatly improves the performance of ovn-northd-ddlog with the benchmark added in the final patch. The first three patches improve both the benchmark for both versions of ovn-northd.
Here are the timings that I measure in each case. All of them include the benefit of the first three patches. Without those patches, the C version takes over 500 seconds and the other take much longer too; the relative timings aren't affected much, it's just all slower: C: 106.8s (0.135s ... 1.043s) ddlog before optimization patches: 176.0s (0.128s ... 1.804s) ddlog after optimization patches: 35.2s (0.129s ... 0.147s) I previously posted the first three patches. This series includes those patches with the minor fixes that I posted later folded in. Ben Pfaff (6): ovn-nbctl: Improve manpage. ovn-nbctl: Refactor into infrastructure and northbound details. ovn-sbctl: Add daemon support. tests: Miscellaneous debuggability improvements. ovn-northd-ddlog: Preserve NB_Global more carefully. tutorial: Add benchmarking test script to run within sandbox. Leonid Ryzhyk (15): ovn-northd-ddlog: Upgrade to ddlog 0.38. ovn-northd-ddlog: Remove `lr` field from `Router`. ovn-northd-ddlog: Intern the `Router` table. ovn-northd-ddlog: Workaround for slow group_by. ovn-northd-ddlog: Intern the Switch table. ovn-northd-ddlog: Remove `ls` field from `Switch`. ovn-northd-ddlog: Intern the SwitchPort table. ovn-northd-ddlog: Intern the RouterPort table. ovn-northd-ddlog: Remove unused function. ovn-northd-ddlog: Eliminate remaining Ref's. ovn-northd-ddlog: Eliminate redundant dereferences. ovn-northd-ddlog: Intern selected input relations. ovn-northd-ddlog: Intern nb::Logical_Router_Port. ovn-northd-ddlog: Intern nb::Logical_Switch_Port. ovn-northd-ddlog: Remove Router.static_routes. NEWS | 4 +- manpages.mk | 17 - northd/helpers.dl | 40 +- northd/ipam.dl | 61 +- northd/lrouter.dl | 188 +++-- northd/lswitch.dl | 243 +++--- northd/multicast.dl | 77 +- northd/ovn-nb.dlopts | 10 + northd/ovn-northd-ddlog.c | 21 +- northd/ovn-sb.dlopts | 1 + northd/ovn_northd.dl | 1065 +++++++++++++------------- northd/ovsdb2ddlog2c | 6 +- tests/ovn-sbctl.at | 76 +- tests/ovn.at | 67 +- tutorial/automake.mk | 3 +- tutorial/northd_ddlog_test.sh | 81 ++ utilities/automake.mk | 12 +- utilities/ovn-dbctl.c | 1226 +++++++++++++++++++++++++++++ utilities/ovn-dbctl.h | 61 ++ utilities/ovn-nbctl.8.xml | 670 +++++++++------- utilities/ovn-nbctl.c | 1362 ++++----------------------------- utilities/ovn-sbctl.8.in | 317 -------- utilities/ovn-sbctl.8.xml | 583 ++++++++++++++ utilities/ovn-sbctl.c | 670 +++------------- 24 files changed, 3598 insertions(+), 3263 deletions(-) create mode 100755 tutorial/northd_ddlog_test.sh create mode 100644 utilities/ovn-dbctl.c create mode 100644 utilities/ovn-dbctl.h delete mode 100644 utilities/ovn-sbctl.8.in create mode 100644 utilities/ovn-sbctl.8.xml -- 2.29.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev