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 09E886DB00; Thu, 19 Aug 2021 18:58:38 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 09E886DB00 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1629388718; bh=/UgrCFYCfWkg0DGjJlFczdNsK1/FKwxLl3drrCQHoQU=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=wZ/g2UH87nFpZdJBg50oEn7+4NaI/HQRJsD2IuYe1KIj9m3jOObmBJdFviZAH+kxs F9IvibQAmsSEu/dkk6XTx4pvVUSGUeOuNXdjJIW+WRP/cqW7FWrfSMfPmnwtJqs1Tj PI42dJETitQREckLkZRFzpN+k7gy9zM+7UXbTMk0= 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 2AC916DB00 for ; Thu, 19 Aug 2021 18:58:37 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2AC916DB00 Received: by smtpng1.m.smailru.net with esmtpa (envelope-from ) id 1mGkR9-0002bq-J6; Thu, 19 Aug 2021 18:58:36 +0300 Date: Thu, 19 Aug 2021 18:58:34 +0300 To: Safin Timur Message-ID: <20210819155834.fufej3ksdcm26lvc@esperanza> References: <82319534-df35-ceb6-ee22-cb4cbaff5e41@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD92087353F0EC44DD9ECFD080E047A606F6525B29142351271182A05F538085040D187202B59A9728D763FB4DED8EF5280C3FA9BD997FA6E7DF5EC25122E9958EF X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE70CB15FA6C489297DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006371E4BC0E00C009995EA1F7E6F0F101C6723150C8DA25C47586E58E00D9D99D84E1BDDB23E98D2D38BBCA57AF85F7723F2332BAEE0766014B7CA1FD68093D98FFACC7F00164DA146DAFE8445B8C89999728AA50765F7900637DCE3DBD6F8E38AFD389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8C6602A96AF88C695F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8B08F9A42B2210255C75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-B7AD71C0: AC4F5C86D027EB782CDD5689AFBDA7A213B5FB47DCBC3458834459D11680B505552F7BAC840F49F5B2859906223F96C1 X-C1DE0DAB: 0D63561A33F958A52820E1A45636A96814062498BC2029151B9CFD97E0B56966D59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA758B25CD4253D1D611410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34D6AC337C1E637B8ACA823298B144DF490794F4A525CA1DAB3986FA6852861E747DED844B5368DB111D7E09C32AA3244C73819385AB26D4916B7BEA7F20E8D06CCE0B41342B755BCDAD832FF50B3043B1 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojGSxK+6r6oBGx4C+S3WaSfA== X-Mailru-Sender: 689FA8AB762F7393C37E3C1AEC41BA5D2BB7F46C41A0DF87AB84BF9AE8BF038B274CEFED1673C562683ABF942079399BFB559BB5D741EB966A65DFF43FF7BE03240331F90058701C67EA787935ED9F1B X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v6 4/5] datetime: perf test for datetime parser 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: Vladimir Davydov via Tarantool-patches Reply-To: Vladimir Davydov Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" On Thu, Aug 19, 2021 at 01:29:06PM +0300, Safin Timur wrote: > On 19.08.2021 13:19, Serge Petrenko wrote: > > > > > > 19.08.2021 05:56, Timur Safin пишет: > > > It was told that if field `datetime.secs` would be `double` we should get > > > better performance in LuaJIT instead of `uint64_t` type, which is > > > used at the > > > moment. > > > > > > So we have created benchmark, which was comparing implementations of > > > functions > > > from `datetime.c` if we would use `double` or `int64_t` for > > > `datetime.secs` field. > > > > > > Despite expectations, based on prior experience with floaing-point on x86 > > > processors, comparison shows that `double` provides similar or > > > sometimes better timings. And picture stays consistent be it SSE2, > > > AVX1 or > > > AVX2 code. > > > > > > Part of #5941 > > > --- > > > > I agree with Vladimir here. > > Looks like this perf test doesn't belong to Tarantool repository. > > Would you mind dropping it? > > Here is the case (we both aware of) I want to avoid here - today we do not > have saved _that_ decimal perf test, basing on which we have preferred LuaC > and dropped FFI implementation. We could not rerun it today, within a newer > LuaJIT implementation, to verify that situation didn't change. This is > similar case - we have made a decision basing on some evaluations using this > code, in a future we may decide to further optimize data structure (like > Vova suggested elsewhere to split int64 into 2 fields), and it would be > better if at that moment we would still have performance test around for > adaptations and rerun. > > Yes, it's another test of performance test we used to see in perf directory > (hehe, there is only single test at the moment), kind of one time shot in a > history, important for design decision, but from longer prospective I assume > it should be still around. > > Does my reasoning make some sense? A test that forks parts of Tarantool internal code and runs some benchmarks on them (like this one) will inevitably diverge from the code it was forked from. So pretty soon its results won't be trusted. Having it in the main repository is a maintenance burden. A test that checks FFI vs ccall performance or double vs int64_t should be independent on Tarantool internals. Such a test is probably okay to have in the main repository, although it could just as well live in a separate repository with performance tests, but this is a matter of policy.