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 3F33B6EC40; Thu, 12 Aug 2021 21:37:39 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3F33B6EC40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1628793459; bh=XQjMfgy0z/8XyKeaHmew5T/OrWLiAh7iCsHcK2KJNno=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=cW/myZRx5iRYUqRJRrTS11AT0C68br6W8x9JCocTDMcj4NtNrG4skjpuTDhAtAA32 TF7hAJg5h1ZJguZjusmRfnQqMny5AsMqZxs3q2DmgtR6d/f5v0JCe9pFIRwWKwBGFi hEYI/PaH/59gt1WJxeYS9w0lJYXQwjvWksAhQY6c= 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 644BB6EC40 for ; Thu, 12 Aug 2021 21:37:37 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 644BB6EC40 Received: by smtpng1.m.smailru.net with esmtpa (envelope-from ) id 1mEFaC-0004NO-Bj; Thu, 12 Aug 2021 21:37:36 +0300 Date: Thu, 12 Aug 2021 21:13:56 +0300 To: Vladimir Davydov Cc: v.shpilevoy@tarantool.org, tarantool-patches@dev.tarantool.org Message-ID: <20210812181356.GO27855@tarantool.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mutt/1.10.1 (2018-07-13) X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD92087353F0EC44DD9ECFD080E047A606F6525B29142351271182A05F538085040CF37A36759CEA6BC5CA79F7AFBAA1DD83B5706CDBBBA23AFFB84F729E7107C16 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7370F4F695FFFC24BEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006375DA0115FC9FAE6C68638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8F6F5164A93C498D675EBCEC1571F7E0E117882F4460429724CE54428C33FAD305F5C1EE8F4F765FC2EE5AD8F952D28FBA471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F446042972877693876707352033AC447995A7AD1828451B159A507268D2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B6753C3A5E0A5AB5B7089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A213B5FB47DCBC3458834459D11680B50524056DE068610689605E539BB6A49D86 X-C1DE0DAB: 0D63561A33F958A557441DE90E0ECB0470D4CD8D0E9A379AA10A51C40D6CB210D59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA752DA3D96DA0CEF5C48E8E86DC7131B365E7726E8460B7C23C X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3473688ED311681BF0A6B3643E400C12F4ACEEE2559C9FB2F1C4C1942A692F0100F544EEE040359C2C1D7E09C32AA3244CE75F8ADDC29790854B73702A3C4DCE6A1E098CBE561D6343FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojKW4rnL99YhIj9csuYbbW7w== X-Mailru-Sender: 689FA8AB762F7393C37E3C1AEC41BA5D1F667A24679893A8C8461A8F510C6B4DA7C8D0F45F857DBFE9F1EFEE2F478337FB559BB5D741EB964C8C2C849690F8E70A04DAD6CC59E33667EA787935ED9F1B X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH] net.box: allow to store user-defined fields in future object 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: Igor Munkin via Tarantool-patches Reply-To: Igor Munkin Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Vova, Thanks for the patch! I am curious why Lua tables are not chosen for storing users data? It looks more natural (kinda netbox request storage that would be similar to the fiber's one), and easier to implement. Of course the only thing bothering me about Lua tables usage is Lua GC pressure. However: * Whether there are *too* much entries, TABOV might occur for REGISTRY table and keeping many tables (especially short living ones) at once is also not such good option. * In case there are *just* much entries, I perhaps that REGISTRY performance is better that spawning lots of tables. Anyway, I haven't look on the mhash implementation, so I have no estimations about its perfomance. I see they are created and destroyed manually, but Lua tables are within the GC reign, so some time is spent on their traversal. At the same time, REGISTRY traversal is atomic, so inflating it also affects the time spent on a particular incremental GC step. Too much theory, BTW. Benchmarks are required for this case. * If this is more an exceptional option (that's I doubt considering Yaroslav complains regarding this functionality breakage), then any of the option is fine IMHO, so the most convenient is preferable. It would be great to see the comparison for your current implementation and the one using Lua tables. The most interesting workload is a bunch of short-term requests, I guess. -- Best regards, IM