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 0B45E431FD0 for ; Wed, 3 Aug 2011 14:47:46 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -2.29 X-Spam-Level: X-Spam-Status: No, score=-2.29 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_MED=-2.3, T_MIME_NO_TEXT=0.01] autolearn=unavailable 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 KmDjlGNjVYkm for ; Wed, 3 Aug 2011 14:47:45 -0700 (PDT) Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu [131.215.239.19]) by olra.theworths.org (Postfix) with ESMTP id BBCF9431FB6 for ; Wed, 3 Aug 2011 14:47:45 -0700 (PDT) Received: from earth-doxen.imss.caltech.edu (localhost [127.0.0.1]) by earth-doxen-postvirus (Postfix) with ESMTP id 3815466E045B; Wed, 3 Aug 2011 14:42:17 -0700 (PDT) X-Spam-Scanned: at Caltech-IMSS on earth-doxen by amavisd-new Received: from finestructure.net (gwave-191.ligo.caltech.edu [131.215.114.191]) (Authenticated sender: jrollins) by earth-doxen-submit (Postfix) with ESMTP id 151BA66E0691; Wed, 3 Aug 2011 14:42:11 -0700 (PDT) Received: by finestructure.net (Postfix, from userid 1000) id EF0322F3; Wed, 3 Aug 2011 14:42:10 -0700 (PDT) From: Jameson Graef Rollins To: Austin Clements , Pieter Praet , Carl Worth Subject: Re: [PROTO] possible solution for "Race condition for '*' command" In-Reply-To: References: <20110703171743.GL15901@mit.edu> <1309762318-4530-1-git-send-email-pieter@praet.org> <87sjqldgr7.fsf@praet.org> <87iprg7dm0.fsf@praet.org> <20110705214234.GA15360@mit.edu> User-Agent: Notmuch/0.5-353-gb44d56e (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) Date: Wed, 03 Aug 2011 14:42:08 -0700 Message-ID: <87oc06i34f.fsf@servo.factory.finestructure.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Cc: Olly Betts , Notmuch Mail 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: Wed, 03 Aug 2011 21:47:46 -0000 --=-=-= Content-Transfer-Encoding: quoted-printable On Wed, 3 Aug 2011 16:47:32 -0400, Austin Clements wrote: > The patch I posted above includes message ID's in search results as a > proxy for the match set (which can then be used in a tagging operation > to tag exactly the results you saw). However, from an efficiency > standpoint, it makes more sense to capture the match set directly as > document ID's. >=20 > I've had an implementation of this for a while, but finally got around > to benchmarking the difference between tagging using message ID's > versus using document ID's. It looks like tagging spends about 2/3rds > of its time performing queries, and only about 1/3rd actually tagging, > so tagging using document ID's is 3x-4x faster. Wow, this sounds very cool, Austin. > The downside to using document ID's is that we need API's to expose > them. My prototype exposes these as opaque "object ID"s, which acts a > lot like message IDs, but has no intrinsic meaning outside of the > library. This needs two library functions: one to retrieve a > message's object ID and another to retrieve a message by object ID. This sounds totally reasonable to me. Maybe we could use something like "oid:" from the command line? > 3x-4x isn't enough to make me jump on this added complexity, but it's > enough to make me consider it. Carl, I'd love to hear your thoughts. Imho 3x-4x is actually a pretty huge improvement. Is it really that much of an added complexity to add those two functions? That actually seems like a relatively simple patch to me. jamie. --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAEBCAAGBQJOOcCwAAoJEO00zqvie6q83zEP/1ykDbgYHtya4WrYdDEJ7M69 vZVuFLmAftXWFTqR4Coq2GQYwgN4gXDlJm1IWQuXSjM2dp0rFi5uW3F5Ymx7/nF4 aQx8JyCa2SHHy5aLdqPstkc1mJL2w4LfUSnn5i7R6uqdTETMpU0VchHe9FoqHRtC kUyEXFjk68ndeds29ODe5DJ06uJL58JlNmNniYoR12+k6Thuq+rz6Vp5cSFo7Alz ayrudJrRxXhaR30+QpOp45Otk04HdES1ih6eI2TLspZF5rgzWHDmEn51n0zYwbxp TpRKZ901vxFujTw9fRvgFKTVkEf24HaNw7SWmXIssssNvUltPbOozeAAPOQLzcB1 d+IS3b8rvmjrR8jAhT2zwtOZeReuGLYMklhYjKgIdWqF9QALlMoza73fD9YsXLlj Tq+s3T6kfK3A5prT3h/NOf4YArnhGoG7fGdr0vdwVFshzk2WzvM8hGuP25bdiY8w II9/Vp0hAnkcKVrJ6VK0INnWUNBWX/JWOfMJ3xGEX8bHWNUbQi1qkMm42WSJiuvU XuKTEati8/Ds9tDmKwX9LAfW/vVjWDVt4kFp1ujDHm/N9qW84G80U8SDWJ4xdvh9 KA7opOjcgibQ6nix29T9W5AsezMJmFc+BKN3ijaCFg0LNi5dMKsJwpocw2j+MH+9 8ED0UVKeF2JOeQsrQpO5 =m8Sm -----END PGP SIGNATURE----- --=-=-=--