[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