From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 85CDC26DDB for ; Fri, 22 Feb 2019 12:52:48 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9-frMP_bquE4 for ; Fri, 22 Feb 2019 12:52:48 -0500 (EST) Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 4071526C2B for ; Fri, 22 Feb 2019 12:52:48 -0500 (EST) Subject: [tarantool-patches] Re: [PATCH v1 4/4] sql: got rid of redundant bitmask helpers References: <6851ecbda131f43e3c704f22799b00b9a021309a.1549629707.git.kshcherbatov@tarantool.org> <6924fefa-ec20-1f7d-0008-8c3e448a6b48@tarantool.org> From: Vladislav Shpilevoy Message-ID: <8cf00087-ea11-10ee-a88f-26a0cd02d51e@tarantool.org> Date: Fri, 22 Feb 2019 20:52:45 +0300 MIME-Version: 1.0 In-Reply-To: <6924fefa-ec20-1f7d-0008-8c3e448a6b48@tarantool.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org, Kirill Shcherbatov During verbal discussion we decided, that there are no places, where non-smart 64 bit mask is needed. But this patch proves the contrary. Bitmask in most places of its usage is not smart, and can not be smart, because is used for only limited number of optimizations relying on some limited resources like cursors. So now for me it is obvious, that in such places it makes no sense to use 64 bit mask - anyway smartness is not available. I think, you should keep Bitmask 32 bit. What is more, 32bit mask, introduced in the first commit, is never used as a smart one. It means, that you all in all should finally make any 32 bit mask as not smart, replace Bitmask with uint32_t, and refactor its usages with new methods from the first commit. Personally, I still think, that we should introduce bitmask_t and smartmask_t to explicitly distinguish between them and never mix. And to be able to change their size with ease. Because your assumption that we never need non-smart masks appeared to be wrong. Of course, you can consult the server team chat, Kostja, or Kirill, if you do not want to do it.