On 9/23/21 22:51, Dumitru Ceara wrote:
> On 9/23/21 2:13 AM, Ilya Maximets wrote:
>> 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.
> 
> Hi Ilya,
> 
> This is great and definitely improves performance in my tests!
> 
>>
>> Changes in ovsdb/ovsdb-idlc.in are a bit brute-force-like, but I
>> didn't manage to write anything better.  And this part is very hard
>> to understand and debug, so maybe it's better to keep it in this
>> more or less understandable shape.
> 
> After spending some time trying to refactor this a bit and after our
> offline discussion ovsdbc-idlc.in can be improved a bit.  Please see
> the incremental down below.

That's cool!  Thanks for improving this part!

> 
> I also have a tiny nit in ovsdb-data.h.
> 
> With these addressed:
> 
> Acked-by: Dumitru Ceara <[email protected]>
Thanks, Mark and Dumitru!

I folded suggested changes in and applied the patch.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to