[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