From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id EC6384696C0 for ; Fri, 29 Nov 2019 12:09:33 +0300 (MSK) Received: by mail-lj1-f194.google.com with SMTP id j6so22160794lja.2 for ; Fri, 29 Nov 2019 01:09:33 -0800 (PST) Date: Fri, 29 Nov 2019 08:41:07 +0300 From: Konstantin Osipov Message-ID: <20191129054107.GF15149@atlas> References: <20191126210520.GE23422@atlas> <20191126211701.mhavpytwkemux3vm@tkn_work_nb> <20191127083123.GA2752@atlas> <20191128123445.GC29714@atlas> <20191128130005.GA1214@tarantool.org> <20191128131804.GE29714@atlas> <20191128140340.GB1214@tarantool.org> <20191128155801.GB11584@atlas> <20191128183615.GC1214@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191128183615.GC1214@tarantool.org> Subject: Re: [Tarantool-patches] [PATCH] Move txn from shema to a separate module (use C API instead of FFI) List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Munkin Cc: tarantool-patches@dev.tarantool.org * Igor Munkin [19/11/28 21:39]: > Great, we discussed with Leonid and Sasha offline and agreed to make > several benchmarks to be provided in this thread. With no benchmarks all > our estimates can be simply wrong. For benchmarks, it is always good to refresh them but since you've been working with LuaJIT for a while you must know some of the conclusions already: * JITed code can be 5-8x faster than Lua + Lua/C * FFI is 1.5-2x slower than Lua/C in non-JIT mode. So using FFI is an extra cost if JIT is OFF. * The way traces are collected, cached and stored has its own overhead, so JIT ON can be harmful to performance if Lua code base gets big. In practice, for Tarantool apps, I found all of the above to not have much impact. The #1 cause of performance slowdown in Tarantool apps is boxing/unboxing Tarantool tuples and garbage collection. So to measure the real impact of the change, micro-benchmarking is insufficient. One has to use run e.g. vshard or data grid or other complex app stress test with wal_mode=off to see the effect of such change. -- Konstantin Osipov, Moscow, Russia