From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 8 Jun 2018 06:28:23 +0300 From: Konstantin Osipov Subject: Re: [tarantool-patches] [PATCH v2 2/1] tuple: introduce bigref hints Message-ID: <20180608032823.GD6866@chai> References: <9c250cefbee4375f722235eaf234b734bf98b83d.1527867534.git.imeevma@gmail.com> <3a358c6b-ad7c-1e18-65aa-e5540c44d30c@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3a358c6b-ad7c-1e18-65aa-e5540c44d30c@tarantool.org> To: tarantool-patches@freelists.org Cc: Vladimir Davydov List-ID: * Vladislav Shpilevoy [18/06/05 00:01]: > tuple: introduce bigref hints > Typical usage of bigrefs: allocate many bigrefs in Lua in a row, > reach memory threshold and delete many bigrefs in a row. > Hits allow to make multiple refs deletions or creations be > faster. For example, before the patch complexity of N refs with > C capacity in a row: O(C) * N. > After the patch: O(C) + N. > Same about unrefs. > Follow up #3224 Why not chain up all free links into a free list, similarly to what we do in the slab allocator? -- Konstantin Osipov, Moscow, Russia, +7 903 626 22 32 http://tarantool.io - www.twitter.com/kostja_osipov