diff options
author | Ilya Maximets <i.maximets@ovn.org> | 2021-09-22 09:28:50 +0200 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2021-09-24 15:53:46 +0200 |
commit | 429b114c5aadee24ccfb16ad7d824f45cdcea75a (patch) | |
tree | f8127a8d5164bcd9571442718b42e41632c09a58 /datapath-windows | |
parent | 32b51326ef9c307b4acd0bacafb0218dd1372f3d (diff) | |
download | openvswitch-429b114c5aadee24ccfb16ad7d824f45cdcea75a.tar.gz |
ovsdb-data: Deduplicate string atoms.
ovsdb-server spends a lot of time cloning atoms for various reasons,
e.g. to create a diff of two rows or to clone a row to the transaction.
All atoms, except for strings, contains a simple value that could be
copied in efficient way, but duplicating strings every time has a
significant performance impact.
Introducing a new reference-counted structure 'ovsdb_atom_string'
that allows to not copy strings every time, but just increase a
reference counter.
This change allows to increase transaction throughput in benchmarks
up to 2x for standalone databases and 3x for clustered databases, i.e.
number of transactions that ovsdb-server can handle per second.
It also noticeably reduces memory consumption of ovsdb-server.
Next step will be to consolidate this structure with json strings,
so we will not need to duplicate strings while converting database
objects to json and back.
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Acked-by: Dumitru Ceara <dceara@redhat.com>
Acked-by: Mark D. Gray <mark.d.gray@redhat.com>
Diffstat (limited to 'datapath-windows')
0 files changed, 0 insertions, 0 deletions