1 Return-Path: <daniel@schoepe.org>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 40F61431FAF
\r
6 for <notmuch@notmuchmail.org>; Tue, 21 Feb 2012 05:53:24 -0800 (PST)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-0.8 tagged_above=-999 required=5
\r
12 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
\r
13 RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled
\r
14 Received: from olra.theworths.org ([127.0.0.1])
\r
15 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
16 with ESMTP id nUpRQO2G-BRG for <notmuch@notmuchmail.org>;
\r
17 Tue, 21 Feb 2012 05:53:20 -0800 (PST)
\r
18 Received: from mail-ey0-f181.google.com (mail-ey0-f181.google.com
\r
19 [209.85.215.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits))
\r
20 (No client certificate requested)
\r
21 by olra.theworths.org (Postfix) with ESMTPS id 867AB431FAE
\r
22 for <notmuch@notmuchmail.org>; Tue, 21 Feb 2012 05:53:20 -0800 (PST)
\r
23 Received: by eaak14 with SMTP id k14so3609646eaa.26
\r
24 for <notmuch@notmuchmail.org>; Tue, 21 Feb 2012 05:53:19 -0800 (PST)
\r
25 Received-SPF: pass (google.com: domain of daniel@schoepe.org designates
\r
26 10.14.45.80 as permitted sender) client-ip=10.14.45.80;
\r
27 Authentication-Results: mr.google.com;
\r
28 spf=pass (google.com: domain of daniel@schoepe.org
\r
29 designates 10.14.45.80 as permitted sender)
\r
30 smtp.mail=daniel@schoepe.org;
\r
31 dkim=pass header.i=daniel@schoepe.org
\r
32 Received: from mr.google.com ([10.14.45.80])
\r
33 by 10.14.45.80 with SMTP id o56mr8482815eeb.88.1329832399241 (num_hops
\r
34 = 1); Tue, 21 Feb 2012 05:53:19 -0800 (PST)
\r
35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=schoepe.org; s=google;
\r
36 h=from:to:subject:in-reply-to:references:user-agent:date:message-id
\r
37 :mime-version:content-type;
\r
38 bh=wfPtkw7qM5lO1/XjeJMZnXkxMsWcdOnpcK7/RuEwluU=;
\r
39 b=bkQtZeiCRF+dFRaz+qUhsejx0an0jn6s6WB204Bzf6dBBPf8HhEvXBnn681tasTX/u
\r
40 VDeSUwRveCTmUuyd6TqfAHWO9uu31zZrcvHfk+8LvvapGuFXI80WtCp1lzFrxmqoXiFF
\r
41 vUMPtlRQkKAbxYDJnlPrhXX2XLpso/0xNcigQ=
\r
42 Received: by 10.14.45.80 with SMTP id o56mr6725463eeb.88.1329832399085;
\r
43 Tue, 21 Feb 2012 05:53:19 -0800 (PST)
\r
44 Received: from localhost (p4FC78DCA.dip0.t-ipconnect.de. [79.199.141.202])
\r
45 by mx.google.com with ESMTPS id s48sm87896441eem.0.2012.02.21.05.53.17
\r
46 (version=TLSv1/SSLv3 cipher=OTHER);
\r
47 Tue, 21 Feb 2012 05:53:17 -0800 (PST)
\r
48 From: Daniel Schoepe <daniel@schoepe.org>
\r
49 To: Justus Winter <4winter@informatik.uni-hamburg.de>,
\r
50 Philippe LeCavalier <support@plecavalier.com>, notmuch@notmuchmail.org
\r
51 Subject: Re: nomuch_addresses.py
\r
52 In-Reply-To: <20120221091509.8534.59492@thinkbox.jade-hamburg.de>
\r
53 References: <87r4xur3rv.fsf@plc.plecavalier.com>
\r
54 <87fweamenf.fsf@schoepe.localhost>
\r
55 <20120221091509.8534.59492@thinkbox.jade-hamburg.de>
\r
56 User-Agent: Notmuch/0.11.1+210~ge886eec (http://notmuchmail.org)
\r
57 Emacs/24.0.93.1 (x86_64-pc-linux-gnu)
\r
58 Date: Tue, 21 Feb 2012 14:53:06 +0100
\r
59 Message-ID: <87zkccjnst.fsf@schoepe.localhost>
\r
61 Content-Type: multipart/signed; boundary="=-=-=";
\r
62 micalg=pgp-sha1; protocol="application/pgp-signature"
\r
64 ALoCoQlvryTuWvwyHgiVuqWwaGiO/OzSdZZj6r/wAVy3IdPbE0f5PTTWQ4Y4MwNG0Mc00qO88gBh
\r
65 X-BeenThere: notmuch@notmuchmail.org
\r
66 X-Mailman-Version: 2.1.13
\r
68 List-Id: "Use and development of the notmuch mail system."
\r
69 <notmuch.notmuchmail.org>
\r
70 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
71 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
72 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
73 List-Post: <mailto:notmuch@notmuchmail.org>
\r
74 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
75 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
76 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
77 X-List-Received-Date: Tue, 21 Feb 2012 13:53:24 -0000
\r
80 Content-Type: text/plain
\r
81 Content-Transfer-Encoding: quoted-printable
\r
83 On Tue, 21 Feb 2012 09:15:09 -0000, Justus Winter <4winter@informatik.uni-h=
\r
85 > Quoting Daniel Schoepe (2012-02-17 02:28:52) [emphasis mine]:
\r
86 > >Just for completeness: I'm using the nice nottoomuch-addresses.pl script
\r
87 > >[1] by Tomi Ollila *which doesn't require any bindings* and is incredibly
\r
88 > >fast (after generating an initial address database).
\r
90 > I don't get it. The perl script isn't using any library bindings,
\r
91 > mainly because there are no libnotmuch bindings for perl. *But* it
\r
92 > does call the notmuch binary which is worse:
\r
94 I think that emphasis you added may be a bit misleading:
\r
96 I specifically mentioned that it doesn't need bindings, because the
\r
97 initial problem in this thread had to do with missing bindings, not
\r
98 because I think it's inherently a good thing.
\r
100 The reason I mentioned nottoomuch-addresses at all, is that completion
\r
101 itself is _a lot_ faster (at least for me), compared to
\r
102 addrlookup. According to the wiki, notmuch-addresses.py is even slower
\r
103 than addrlookup, so I thought (and still think) that it was worth
\r
104 mentioning. Of course, one could rewrite the database-generation part in
\r
105 python using the bindings, but I personally don't think it's that
\r
108 > * incredibly high overhead (fork&exec) compared to a simple function
\r
109 > call (plus maybe some kind of ffi)
\r
111 I think nottoomuch-addresses.sh is a good example how such performance
\r
112 considerations can be outweighed by choosing a good "algorithm" instead
\r
113 (extracting all addresses beforehand).
\r
115 > * manual and error prone serialization of ''function arguments''
\r
116 > * manual and error prone deserialization of ''return values''
\r
117 > * very limited error reporting and handling capabilities
\r
118 > * any kind of resource (think handle to a xapian database) is lost if
\r
119 > the process exists resulting in further overhead if the binary is
\r
120 > called multiple times
\r
122 > I do get the feeling that it is perceived as desirable not to require
\r
123 > any kind of notmuch bindings (David once said something similar about
\r
126 While I don't think that using bindings is a bad thing, the fact that we
\r
127 can do non-trivial things like nmbug without them, seems to be a good
\r
128 indicator for the quality of the command line interface though. (And
\r
129 hence notmuch lends itself well to being used in shell scripts).
\r
136 Content-Type: application/pgp-signature
\r
138 -----BEGIN PGP SIGNATURE-----
\r
139 Version: GnuPG v1.4.11 (GNU/Linux)
\r
141 iQIcBAEBAgAGBQJPQ6HCAAoJEIaTAtce+Z+JD5IQAIw+UtQfNS8MRx52YTgirM01
\r
142 X7WBznp2k8r9J5n/ii2ZrE9/nkfwc2MGWJ9F7sbdijGvwUy+M2vFHgUSow6xRmud
\r
143 nVkIs7XBH/YLG927BloiM3QRmgJuwoqJLJyPWniS4Xc2q0D1QUXDVeSwzLwHD9uL
\r
144 SqW3q2gLbo5ZmV716n3YUnEzYl4+cyEv5bod91qYQM8fm4mFo5JcJ4EajjP3Rz5Y
\r
145 2OFf5Ou8iK9fJGQXeVXtvYtd0tpMoD7WXS56zbJ8fbRdGTABiGORxQc0VGZob2Si
\r
146 hJ0+/sss7BjYbUZgN3HSjlENVtCGuEZD4ioL8J0IKgYKr+vWs7lzSwp8aNK/Gm4Q
\r
147 Fukco/H10wrMvhGv9YqXz+mn4lLFYWlO1HzYRicwPjueu46sNDmPU/cMefUIDonf
\r
148 DKzxhGOGQgTpBIuIn9+VDuNHBU0mWehq8hcrHb1byFeRW817UB5ouK3r5paRqY/1
\r
149 /XueSd7CD9gfi6bV01r2jQ8zxnOmisHVWjZq3DsyN7g8skpJtpybILLfQUIlhqHi
\r
150 yuZJLkn2m47tY5dnmDyBeN22PiuNy22PuLUEQfM/w2NaxFxWUgI5W8VxtiKRgSCz
\r
151 hQyvFJhliFebDs/AybOKTfG0tCWBdve9NTAtSv4rT2H9nnNzC71xl4ae39IOB91e
\r
152 vZBT/7aJ9FRxlolFi8L8
\r
154 -----END PGP SIGNATURE-----
\r