Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 81CAC431FBC for ; Fri, 19 Feb 2010 01:52:25 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.521 X-Spam-Level: X-Spam-Status: No, score=-1.521 tagged_above=-999 required=5 tests=[AWL=-0.411, BAYES_05=-1.11] autolearn=ham Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HQY3qErMf3+1 for ; Fri, 19 Feb 2010 01:52:24 -0800 (PST) Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) by olra.theworths.org (Postfix) with ESMTP id 840E0431FAE for ; Fri, 19 Feb 2010 01:52:24 -0800 (PST) Received: from localhost (unknown [192.168.200.4]) by max.feld.cvut.cz (Postfix) with ESMTP id A766319F33BC; Fri, 19 Feb 2010 10:52:23 +0100 (CET) X-Virus-Scanned: IMAP AMAVIS Received: from max.feld.cvut.cz ([192.168.200.1]) by localhost (styx.feld.cvut.cz [192.168.200.4]) (amavisd-new, port 10044) with ESMTP id dMwR9V13LHXu; Fri, 19 Feb 2010 10:52:19 +0100 (CET) Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34]) by max.feld.cvut.cz (Postfix) with ESMTP id 83A2119F334D; Fri, 19 Feb 2010 10:52:19 +0100 (CET) Received: from steelpick.localdomain (k335-30.felk.cvut.cz [147.32.86.30]) (Authenticated sender: sojkam1) by imap.feld.cvut.cz (Postfix) with ESMTPSA id 51C4DFA004; Fri, 19 Feb 2010 10:52:19 +0100 (CET) Received: from wsh by steelpick.localdomain with local (Exim 4.71) (envelope-from ) id 1NiPX1-0008Tr-4W; Fri, 19 Feb 2010 10:52:19 +0100 From: Michal Sojka To: martin f krafft , Ben Gamari In-Reply-To: <20100219003115.GB25162@lapse.rw.madduck.net> References: <20100217235211.GC2628@lapse.rw.madduck.net> <1266453115-sup-7880@ben-laptop> <20100218015847.GB3480@lapse.rw.madduck.net> <1266459453-sup-7234@ben-laptop> <20100218024802.GA795@lapse.rw.madduck.net> <1266463007-sup-8777@ben-laptop> <20100218034613.GD1991@lapse.rw.madduck.net> <1266467977-sup-3504@ben-laptop> <20100218045943.GA6152@lapse.rw.madduck.net> <1266469478-sup-2095@ben-laptop> <20100219003115.GB25162@lapse.rw.madduck.net> Date: Fri, 19 Feb 2010 10:52:18 +0100 Message-ID: <87r5ohimct.fsf@steelpick.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: notmuch Subject: Re: [notmuch] nested tag trees (was: Mail in git) X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Feb 2010 09:52:25 -0000 On Fri, 19 Feb 2010 13:31:15 +1300, martin f krafft w= rote: > also sprach Ben Gamari [2010.02.18.1810 +1300]: > > > Instead of nested subtrees, think of 16 subtrees forming > > > a level-1 hash table, or 256 for level-2, which really *ought* > > > to be enough. > > >=20 > > > Anyway, rewriting a tree object is pretty much exactly the same > > > as removing a line (e.g. a message ID) from a file (e.g. a tag), > > > as that file would have to be fully rewritten. > > >=20 > > This is very true, but exactly do you mean by this statement? >=20 > That any form of tag-to-message mapping will be expensive when you > have a million messages referenced. If you used symlinks like mairix > does, any manipulation would require changes to the directory index, > which =E2=80=94 curiously =E2=80=94 functions much like the subtree appro= ach you > proposed. Why do you want to store tag-to-message mapping in git? This is IMHO perfectly solved by Xapian so storing message-to-tag mapping would be sufficient, wouldn't it? Michal