Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Nikita Tatunov <hollow653@gmail.com>
Cc: korablev@tarantool.org, tarantool-patches@freelists.org
Subject: [tarantool-patches] Re: [PATCH] sql: xfer optimization issue
Date: Tue, 31 Jul 2018 01:17:06 +0300	[thread overview]
Message-ID: <20180730221705.u2fv3uraa2hnpisj@tkn_work_nb> (raw)
In-Reply-To: <CAEi+_ao6fD2snyz1FQmkrNYck8buvYKAv+xLNJfoBz3nTed-8g@mail.gmail.com>

On Mon, Jul 30, 2018 at 09:33:55PM +0300, Nikita Tatunov wrote:
>    вс, 29 июл. 2018 г. в 18:16, Alexander Turenko
>    <[1]alexander.turenko@tarantool.org>:
> 
>      On Sun, Jul 29, 2018 at 02:23:30PM +0300, n.pettik wrote:
>      > >    1. Not actual due to 2, but it would be better to use
>      > >      `pOp->p5 &= ~OPFLAG_XFER_OPT` to drop just that flag.
>      > >    2. It is counter-intuitive, IMHO, to change operation flags
>      during
>      > >       that operation. So, said above, vote to move it to
>      OP_OpenWrite.
>      >
>      >    Well, actually moving it to OP_OpenWrite seems to be bad idea.
>      >
>      >    Even if code for xFer optimisation is generated, it
>      >
>      >    still might not be executed. The only opcode ensuring xFer is
>      >
>      >    under processing - OP_RowData.
>      We have separate OpenWrite opcodes in xfer and regular insert code.
>      We
>      open destination space curson always (to determine whether the space
>      is
>      empty), but we can set the flag when open source space cursor. But
>      this
>      will forbid to check source space for emptiness in xfer code or will
>      require to 'workaround' it using two cursors.
>      By the way, I observed that the following code is dead:
>      >         if (emptySrcTest)
>      >                 sqlite3VdbeJumpHere(v, emptySrcTest);
>      WBR, Alexander Turenko.
> 
>    I'm not sured if changing p5 in OP_OpenWrite is a good idea since
>    1) Even if p5 isn't used while xfer is processed it's reserved and
>    there are no free parameters.
>    2) Who knows, probably we will need p5 for something in future.
>    3) AFAIK OP_OpenWrite is a legacy opcode and probably gonna be
>    removed.
>    4) For me it's more counter-intuitive to put incrementation in
>    opcode that barely related to xfer optimization idea.
>    5) Do CPU cycles matter for debugging purpose only global variable?

Ok. So, I think you need to comment in the opcode description that the
flag is cleared after the first opcode execution.

What with the rest of review from the two previous email from me?

WBR, Alexander Turenko.

  reply	other threads:[~2018-07-30 22:17 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-18 15:32 [tarantool-patches] " N.Tatunov
2018-04-18 16:33 ` [tarantool-patches] " Hollow111
2018-04-19 11:22   ` n.pettik
2018-04-19 15:36     ` Hollow111
2018-04-20  1:02       ` n.pettik
2018-04-20 15:09         ` Hollow111
2018-04-20 16:09           ` n.pettik
2018-04-20 17:59             ` Hollow111
2018-04-23 23:40               ` n.pettik
2018-04-27 15:45                 ` Hollow111
2018-05-03 22:57                   ` n.pettik
2018-05-04 12:54                     ` Hollow111
2018-06-28 10:18                       ` Alexander Turenko
2018-07-09 15:50                         ` Alexander Turenko
2018-07-16 12:54                           ` Nikita Tatunov
2018-07-16 13:06                             ` n.pettik
2018-07-16 13:20                               ` Nikita Tatunov
2018-07-16 18:37                                 ` Nikita Tatunov
2018-07-16 19:12                                   ` n.pettik
2018-07-16 21:27                                     ` Nikita Tatunov
2018-07-18 15:13                                       ` n.pettik
2018-07-18 20:18                                         ` Nikita Tatunov
2018-07-19  0:20                                           ` n.pettik
2018-07-19 17:26                                             ` Nikita Tatunov
2018-07-20  3:20                                               ` n.pettik
2018-07-20 11:56                                                 ` Nikita Tatunov
2018-07-20 16:43                                                   ` n.pettik
2018-07-20 16:58                                                     ` Nikita Tatunov
2018-07-29  1:12                                                       ` Alexander Turenko
2018-07-29 11:23                                                         ` n.pettik
2018-07-29 15:16                                                           ` Alexander Turenko
2018-07-30 18:33                                                             ` Nikita Tatunov
2018-07-30 22:17                                                               ` Alexander Turenko [this message]
2018-07-31 11:48                                                         ` Nikita Tatunov
2018-07-31 13:29                                                           ` Alexander Turenko
2018-07-31 17:04                                                             ` Nikita Tatunov
2018-07-31 17:44                                                               ` Alexander Turenko
2018-08-21 16:43 ` Kirill Yukhin

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=20180730221705.u2fv3uraa2hnpisj@tkn_work_nb \
    --to=alexander.turenko@tarantool.org \
    --cc=hollow653@gmail.com \
    --cc=korablev@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='[tarantool-patches] Re: [PATCH] sql: xfer optimization issue' \
    /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