[Tarantool-patches] [PATCH 00/20] Rewrite performance critical parts of net.box in C

Vladimir Davydov vdavydov at tarantool.org
Thu Jul 29 14:33:13 MSK 2021


On Thu, Jul 29, 2021 at 12:51:18AM +0200, Vladislav Shpilevoy wrote:
> Hi! Thanks for the patchset!
> 
> Here is a first part of my review. I will return later to continue.
> 
> Commits 02-05, 07-08, 10 are LGTM.

Pushed to master.

> 
> > Asynchronous calls don't show as much of an improvement as synchronous,
> > because per each asynchronous call we still have to create a 'future'
> > object in Lua. Still, the improvement is quite noticeable - 30% for
> > REPLACE, 10% for UPDATE, 20% for SELECT, 25% for CALL.
> 
> I didn't reach the end of the patchset yet, but did you try to create
> the futures as cdata objects? They could be allocated on mempool, their
> GC pressure might be optimized by doing similar to luaT_tuple_encode_table_ref
> optimization (there was found a way to make __gc and other C functions
> cheaper when it comes to amount of GC objects in Lua).
> 
> The API would stay the same, they just would become C structs with
> methods instead of Lua tables.

Good call. Going to to try that. Thanks.


More information about the Tarantool-patches mailing list