Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
	helo=mx.sourceforge.net)
	by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <mh.in.england@gmail.com>) id 1U0VbU-000189-Oj
	for bitcoin-development@lists.sourceforge.net;
	Wed, 30 Jan 2013 11:13:20 +0000
Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.219.54 as permitted sender)
	client-ip=209.85.219.54; envelope-from=mh.in.england@gmail.com;
	helo=mail-oa0-f54.google.com; 
Received: from mail-oa0-f54.google.com ([209.85.219.54])
	by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1U0VbT-00005K-Js
	for bitcoin-development@lists.sourceforge.net;
	Wed, 30 Jan 2013 11:13:20 +0000
Received: by mail-oa0-f54.google.com with SMTP id n9so1503405oag.41
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 30 Jan 2013 03:13:14 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.60.171.230 with SMTP id ax6mr3257289oec.25.1359544394222;
	Wed, 30 Jan 2013 03:13:14 -0800 (PST)
Sender: mh.in.england@gmail.com
Received: by 10.76.128.139 with HTTP; Wed, 30 Jan 2013 03:13:14 -0800 (PST)
In-Reply-To: <CANEZrP0HPgNKaNUMbFQS4Hj+gBQ6c7gatoeUXEiRSCA0wBkenA@mail.gmail.com>
References: <CANEZrP0XALwBFJyZTzYd5xBp4MRrjv0s_y2tOXbO7UgjWF2HzA@mail.gmail.com>
	<20121121151534.GA5540@vps7135.xlshosting.net>
	<1353523117.1085.14.camel@localhost.localdomain>
	<20121127211019.GA22701@vps7135.xlshosting.net>
	<CANEZrP0w052ebao-04H4Wduerm86o6RKBY=ObnJXBX22k--zMA@mail.gmail.com>
	<1357876751.1740.4.camel@localhost.localdomain>
	<CA+8xBpcB6kXWyRbeUknK6gkcrFMV6YtrDk0c938q1_32U6GtRw@mail.gmail.com>
	<CANEZrP2k30UsWFYSZ7Bh5Hm4LJ9vEAMEUgYSrYkcXcDTY2Z79Q@mail.gmail.com>
	<CANEZrP3KKGOPM7BzWAr1xGqh96iEzJ+Ki2hdUTe0Gvv51pJ23w@mail.gmail.com>
	<CANEZrP2q=Kvk8DRRjB7mtw7QF8xDTAFYPVRCDW60tJn4A67LYQ@mail.gmail.com>
	<1358348447.1048.0.camel@localhost.localdomain>
	<CANEZrP0HPgNKaNUMbFQS4Hj+gBQ6c7gatoeUXEiRSCA0wBkenA@mail.gmail.com>
Date: Wed, 30 Jan 2013 12:13:14 +0100
X-Google-Sender-Auth: Uvkn8yj4gGdlelTfNPGqBEYRu_k
Message-ID: <CANEZrP1iV8K7_GQkRw6gNSXr+22MWmwuiu5651sK+QtupBSZtg@mail.gmail.com>
From: Mike Hearn <mike@plan99.net>
To: Matt Corallo <bitcoin-list@bluematt.me>
Content-Type: multipart/alternative; boundary=bcaec550b2e4ac8db504d47f98b3
X-Spam-Score: -0.5 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(mh.in.england[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1U0VbT-00005K-Js
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Draft BIP for Bloom filtering
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 30 Jan 2013 11:13:20 -0000

--bcaec550b2e4ac8db504d47f98b3
Content-Type: text/plain; charset=UTF-8

Sorry, to clarify, these are test builds available here:


https://code.google.com/p/bitcoin-wallet/downloads/detail?name=bitcoin-wallet-2.39_bitcoinj0.7.apk&can=2&q=

It's not on the Play store yet. It probably makes sense to release after
some more testing and after Bitcoin 0.8 comes out, as otherwise there's a
risk that 0.7 snapshot nodes will get overloaded.


On Wed, Jan 30, 2013 at 12:09 PM, Mike Hearn <mike@plan99.net> wrote:

> Andreas has uploaded Android builds that use the new bloom filtering and
> peer selection code (also, dependency analysis of transactions).
>
> The performance gain is very cool. The app feels dramatically faster to
> start up and sync. Because the app syncs on charge when I opened it around
> lunchtime it had only 7 hours of data to sync (42 blocks) and it brought up
> 6 peer connections, found a 0.7.99 node and synced all in <2 seconds. That
> was on wifi.
>
> The next lowest hanging perf fruit is almost certainly to optimize disk
> accesses. Flash on Android devices seems to be much slower than laptop
> flash storage, and current bitcoinj is very inefficient in how it writes
> (one write per block header!). This matters a lot when doing fast catchup
> for first time users.
>
> The BIP is now a little bit stale, but only slightly.
>
>
> On Wed, Jan 16, 2013 at 4:00 PM, Matt Corallo <bitcoin-list@bluematt.me>wrote:
>
>> Actually, there is one more minor algorithmic change I would like to
>> make to the way the hash function is computed really quick before it
>> gets merged, I'll have that finished up by the end of today.
>>
>> Matt
>>
>> On Wed, 2013-01-16 at 11:43 +0100, Mike Hearn wrote:
>> > Matts latest code has been tested by Andreas and seems to work
>> > correctly. He had to extend the client a bit to refresh the filter
>> > every 25k blocks because even with the extra flag, eventually the
>> > filter degrades into uselessness, but it did still improve the
>> > situation quite a bit.
>> >
>> > Because it's unit tested, been reviewed by me several times, has an
>> > interoperable implementation that has also been tested by Andreas in a
>> > build of his smartphone app,  I'm going to ACK the current code and
>> > request that it be merged in to 0.8. What do you say Gavin?
>> >
>> > The next step after that would be profiling. It's a big performance
>> > improvement for SPV clients already, but not as much as I anticipated.
>> > I suspect there's a simple bottleneck or missed optimization
>> > somewhere. But that can obviously come post-0.8
>>
>>
>>
>

--bcaec550b2e4ac8db504d47f98b3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Sorry, to clarify, these are test builds available here:<d=
iv><br></div><div>=C2=A0=C2=A0<a href=3D"https://code.google.com/p/bitcoin-=
wallet/downloads/detail?name=3Dbitcoin-wallet-2.39_bitcoinj0.7.apk&amp;can=
=3D2&amp;q=3D">https://code.google.com/p/bitcoin-wallet/downloads/detail?na=
me=3Dbitcoin-wallet-2.39_bitcoinj0.7.apk&amp;can=3D2&amp;q=3D</a><br>
</div><div><br></div><div style>It&#39;s not on the Play store yet. It prob=
ably makes sense to release after some more testing and after Bitcoin 0.8 c=
omes out, as otherwise there&#39;s a risk that 0.7 snapshot nodes will get =
overloaded.</div>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Wed,=
 Jan 30, 2013 at 12:09 PM, Mike Hearn <span dir=3D"ltr">&lt;<a href=3D"mail=
to:mike@plan99.net" target=3D"_blank">mike@plan99.net</a>&gt;</span> wrote:=
<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex">
<div dir=3D"ltr">Andreas has uploaded Android builds that use the new bloom=
 filtering and peer selection code (also, dependency analysis of transactio=
ns).<div><br></div><div>The performance gain is very cool. The app feels dr=
amatically faster to start up and sync. Because the app syncs on charge whe=
n I opened it around lunchtime it had only 7 hours of data to sync (42 bloc=
ks) and it brought up 6 peer connections, found a 0.7.99 node and synced al=
l in &lt;2 seconds. That was on wifi.</div>

<div><br></div><div>The next lowest hanging perf fruit is almost certainly =
to optimize disk accesses. Flash on Android devices seems to be much slower=
 than laptop flash storage, and current bitcoinj is very inefficient in how=
 it writes (one write per block header!). This matters a lot when doing fas=
t catchup for first time users.</div>

<div><br></div><div>The BIP is now a little bit stale, but only slightly.</=
div></div><div class=3D"HOEnZb"><div class=3D"h5"><div class=3D"gmail_extra=
"><br><br><div class=3D"gmail_quote">On Wed, Jan 16, 2013 at 4:00 PM, Matt =
Corallo <span dir=3D"ltr">&lt;<a href=3D"mailto:bitcoin-list@bluematt.me" t=
arget=3D"_blank">bitcoin-list@bluematt.me</a>&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">Actually, there is one more minor algorithmi=
c change I would like to<br>
make to the way the hash function is computed really quick before it<br>
gets merged, I&#39;ll have that finished up by the end of today.<br>
<span><font color=3D"#888888"><br>
Matt<br>
</font></span><div><div><br>
On Wed, 2013-01-16 at 11:43 +0100, Mike Hearn wrote:<br>
&gt; Matts latest code has been tested by Andreas and seems to work<br>
&gt; correctly. He had to extend the client a bit to refresh the filter<br>
&gt; every 25k blocks because even with the extra flag, eventually the<br>
&gt; filter degrades into uselessness, but it did still improve the<br>
&gt; situation quite a bit.<br>
&gt;<br>
&gt; Because it&#39;s unit tested, been reviewed by me several times, has a=
n<br>
&gt; interoperable implementation that has also been tested by Andreas in a=
<br>
&gt; build of his smartphone app, =C2=A0I&#39;m going to ACK the current co=
de and<br>
&gt; request that it be merged in to 0.8. What do you say Gavin?<br>
&gt;<br>
&gt; The next step after that would be profiling. It&#39;s a big performanc=
e<br>
&gt; improvement for SPV clients already, but not as much as I anticipated.=
<br>
&gt; I suspect there&#39;s a simple bottleneck or missed optimization<br>
&gt; somewhere. But that can obviously come post-0.8<br>
<br>
<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>

--bcaec550b2e4ac8db504d47f98b3--