[Tarantool-patches] [PATCH 0/4] fiber: keep reference to userdata if fiber created once

Бабин Олег olegrok at tarantool.org
Thu Sep 2 21:07:26 MSK 2021


Thanks for your review. See my answer below.

  
>Четверг, 2 сентября 2021, 18:48 +03:00 от Igor Munkin <imun at tarantool.org>:
> 
>Oleg,
>
>Thanks for the series!
>
>On 11.08.21,  olegrok at tarantool.org wrote:
>> From: Oleg Babin < babinoleg at mail.ru >
>>
>> This patch reworks approach to fiber management in Lua. Before
>> this patch each action that should return fiber led to new
>> userdata creation that was quite slow and made GC suffer. This
>> patch introduces new field in struct fiber to store a reference to
>> userdata that was created once for a fiber. It allows speedup
>> operations as fiber.self() and fiber.id().
>> Simple benchmark shows that access to fiber storage is faster in
>> two times, fiber.find() - 2-3 times and fiber.new/create functions
>> don't have any changes.
>>
>> Initially changes were inspired by #6210 [1] but current patchset
>> doesn't introduce anything new just improves performance of
>> existing functions.
>> Some results are available also in related github PR [2].
>>
>> [1]  https://github.com/tarantool/tarantool/issues/6210
>> [2]  https://github.com/tarantool/tarantool/pull/6280
>
>Does this PR supersedes another one[1] from you? If it does, please
>close #6215 then.
 
Yes, let’s close them. Such approach solves my particular task but there are
opinions that we shouldn’t add new functions to current fiber API.
 
>>
>> Oleg Babin (4):
>> fiber: rename ref to fiber_ref
>> fiber: pass struct fiber into lbox_pushfiber instead of id
>> fiber: keep reference to userdata if fiber created once
>> fiber: allocate on_stop triggers using mempool
>>
>> src/lib/core/fiber.h | 7 ++-
>> src/lua/fiber.c | 134 ++++++++++++++++++-------------------------
>> 2 files changed, 62 insertions(+), 79 deletions(-)
>>
>> --
>> 2.32.0
>>
>
>[1]:  https://github.com/tarantool/tarantool/pull/6215
>
>--
>Best regards,
>IM 
 
 
--
Oleg Babin
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20210902/349d139e/attachment.htm>


More information about the Tarantool-patches mailing list