From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 8124B6EC55; Thu, 29 Jul 2021 01:51:34 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 8124B6EC55 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1627512694; bh=XuoFZTADJfbw0jrYBTL6+9mn/g9Df9x+JwsmihTfg5Y=; h=To:References:Date:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=m1S8N/mGpF/Tp1ExPmO+WaBPkFNNTfCFpuB1AyMTAlXYpxQwhrS/cZvIm2H9hFGPO Suh4/b6uH4RFyuveu+QouhsVtnQL9SNxyQ4XnUmoFAHY0jba0FnHJqi1W5mDOx04cq 9V8y7s3T9peb0OL2O5j5G1fKel67lCCFmRbJ9/Gs= Received: from smtpng1.i.mail.ru (smtpng1.i.mail.ru [94.100.181.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id CC4DC6EC55 for ; Thu, 29 Jul 2021 01:51:21 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org CC4DC6EC55 Received: by smtpng1.m.smailru.net with esmtpa (envelope-from ) id 1m8sOV-0006uH-LS; Thu, 29 Jul 2021 01:51:21 +0300 To: Vladimir Davydov , tarantool-patches@dev.tarantool.org References: Message-ID: <0123065e-6352-331e-2dd8-b712b9d6e26a@tarantool.org> Date: Thu, 29 Jul 2021 00:51:18 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD941C43E597735A9C30288BCF456A452EC429C5145D5B58EFD182A05F538085040314CE392A977093AE6E3E142A4485BFD183705F72CE72993B136787B55EAC115 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE72791110C931D1596EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006377CC130305260E47D8638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8C058F49B4BB3A11AF0A5EE8DD1E402AA117882F4460429724CE54428C33FAD305F5C1EE8F4F765FC3A703B70628EAD7BA471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F44604297287769387670735201E561CDFBCA1751FCB629EEF1311BF91D2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B6A45692FFBBD75A6A089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A213B5FB47DCBC3458834459D11680B505450CC5E296C4E36336491C382D85BBA1 X-C1DE0DAB: 0D63561A33F958A55BFDE1BDCD6FF6CB58BDD7DE0395A4E272616D75BD6807CDD59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA7536C62C4FBC402878410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34DA1FE609583D493C7FE4BF025C91F8B2C9CB185F3BADE7D5E6E53C3FFBF9B3DB93428A4C8F88A7CB1D7E09C32AA3244C18953882E12F3E64783520D766BDB086FE8DA44ABE2443F7729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojPp/mPgZxawEOtlTECe62+g== X-Mailru-Sender: 689FA8AB762F7393C37E3C1AEC41BA5D39B948161FB08555C8A7CE189DA5CB183841015FED1DE5223CC9A89AB576DD93FB559BB5D741EB963CF37A108A312F5C27E8A8C3839CE0E267EA787935ED9F1B X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH 00/20] Rewrite performance critical parts of net.box in C X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Vladislav Shpilevoy via Tarantool-patches Reply-To: Vladislav Shpilevoy Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hi! Thanks for the patchset! Here is a first part of my review. I will return later to continue. Commits 02-05, 07-08, 10 are LGTM. > Asynchronous calls don't show as much of an improvement as synchronous, > because per each asynchronous call we still have to create a 'future' > object in Lua. Still, the improvement is quite noticeable - 30% for > REPLACE, 10% for UPDATE, 20% for SELECT, 25% for CALL. I didn't reach the end of the patchset yet, but did you try to create the futures as cdata objects? They could be allocated on mempool, their GC pressure might be optimized by doing similar to luaT_tuple_encode_table_ref optimization (there was found a way to make __gc and other C functions cheaper when it comes to amount of GC objects in Lua). The API would stay the same, they just would become C structs with methods instead of Lua tables.