Tarantool development patches archive
 help / color / mirror / Atom feed
From: Igor Munkin <imun@tarantool.org>
To: Konstantin Osipov <kostja.osipov@gmail.com>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH] Move txn from shema to a separate module (use C API instead of FFI)
Date: Thu, 28 Nov 2019 16:00:05 +0300	[thread overview]
Message-ID: <20191128130005.GA1214@tarantool.org> (raw)
In-Reply-To: <20191128123445.GC29714@atlas>

Kostja,

On 28.11.19, Konstantin Osipov wrote:
> * Leonid Vasiliev <lvasiliev@tarantool.org> [19/11/28 11:10]:
> > 4) About converts others txn functions from FFI to C-API:
> > I think it's a good practice, use one or the other (FFI or C-API) in module
> 
> My complaint is about this part. Jit trace can go through FFI but
> can't go through Lua/C. This is why many of these functions were
> in FFI in the first place. 
> 
> We could make a conscious choice to make all box API Lua/C - but
> this will literally kill JIT, so then why not just move to

LuaJIT v2.1 provides trace stitching feature (for more info see
here[1]), so strictly saying, it doesn't kill JIT but yes, performance
is nerfed comparing to traces recorded for an FFI code. I have no
proofs/benchmarks for now, so it sounds kinda bullshit, but I look
forward to make some in the nearest future.

Furthermore, FFI is not a silver bullet considering this issue[2].

> plain Lua 5.3 and forget about grievances with LuaJIT altogether.

JIT is not the only killing feature provided by LuaJIT and
infrastructure for Lua 5.1 is much richer.

> 
> Nick Zavaritsky had a patch that would detect sandwich stacks in
> runtime and assert. Nobody had time to look at it back then -

Could you please provide the issue/link for this changeset, I'll take a
look on it with pleasure.

> everyone was busy with vinyl and sql.
> 
> Why not dig it up to protect from future erosion of the code base? 
> 
> This would be more valuable contribution than just falling back to
> Lua/C for everything.

I have a tiny patch for JIT in my branch[3], respecting most remarks
given by Mr Egorov, however it's not yet fully tested and there're
still some pitfalls not being fixed. I'm working on it for now.

> 
> -- 
> Konstantin Osipov, Moscow, Russia

[1]: http://wiki.luajit.org/NYI
[2]: https://github.com/tarantool/tarantool/issues/4630
[3]: https://github.com/tarantool/luajit/commit/a3a47015842c7e7c1bee2f4fc30345aa7d4e5dba

-- 
Best regards,
IM

  reply	other threads:[~2019-11-28 13:02 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-26 13:13 Leonid
2019-11-26 21:05 ` Konstantin Osipov
2019-11-26 21:17   ` Alexander Turenko
2019-11-27  8:31     ` Konstantin Osipov
2019-11-28  8:10       ` Leonid Vasiliev
2019-11-28 12:34         ` Konstantin Osipov
2019-11-28 13:00           ` Igor Munkin [this message]
2019-11-28 13:18             ` Konstantin Osipov
2019-11-28 14:03               ` Igor Munkin
2019-11-28 15:58                 ` Konstantin Osipov
2019-11-28 18:36                   ` Igor Munkin
2019-11-29  5:30                     ` Konstantin Osipov
2019-11-29 17:43                       ` Igor Munkin
2019-11-29  5:41                     ` Konstantin Osipov
2019-11-29 17:37                       ` Igor Munkin
2019-12-04 13:05                     ` Leonid Vasiliev
2019-12-04 13:15                       ` Konstantin Osipov
2019-12-05  8:27                         ` Leonid Vasiliev
2020-03-20 18:48               ` Igor Munkin
2020-03-20 19:27                 ` Konstantin Osipov
2019-12-11 22:21 ` Alexander Turenko
2019-12-12  8:23   ` Leonid Vasiliev
2020-01-15 17:05     ` Alexander Turenko
2019-12-12  8:49   ` Konstantin Osipov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191128130005.GA1214@tarantool.org \
    --to=imun@tarantool.org \
    --cc=kostja.osipov@gmail.com \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH] Move txn from shema to a separate module (use C API instead of FFI)' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox