From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1U0VYJ-0000xv-ON for bitcoin-development@lists.sourceforge.net; Wed, 30 Jan 2013 11:10:03 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.219.43 as permitted sender) client-ip=209.85.219.43; envelope-from=mh.in.england@gmail.com; helo=mail-oa0-f43.google.com; Received: from mail-oa0-f43.google.com ([209.85.219.43]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1U0VYH-0000hJ-Ft for bitcoin-development@lists.sourceforge.net; Wed, 30 Jan 2013 11:10:03 +0000 Received: by mail-oa0-f43.google.com with SMTP id l10so1523983oag.30 for ; Wed, 30 Jan 2013 03:09:56 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.60.32.73 with SMTP id g9mr3314934oei.134.1359544196123; Wed, 30 Jan 2013 03:09:56 -0800 (PST) Sender: mh.in.england@gmail.com Received: by 10.76.128.139 with HTTP; Wed, 30 Jan 2013 03:09:55 -0800 (PST) In-Reply-To: <1358348447.1048.0.camel@localhost.localdomain> References: <20121121151534.GA5540@vps7135.xlshosting.net> <1353523117.1085.14.camel@localhost.localdomain> <20121127211019.GA22701@vps7135.xlshosting.net> <1357876751.1740.4.camel@localhost.localdomain> <1358348447.1048.0.camel@localhost.localdomain> Date: Wed, 30 Jan 2013 12:09:55 +0100 X-Google-Sender-Auth: RKaLeSBrG8rjMV-Hm7flkdZurDA Message-ID: From: Mike Hearn To: Matt Corallo Content-Type: multipart/alternative; boundary=e89a8fb1ebc2ddcd4104d47f8cc8 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: 1U0VYH-0000hJ-Ft Cc: Bitcoin Dev 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jan 2013 11:10:03 -0000 --e89a8fb1ebc2ddcd4104d47f8cc8 Content-Type: text/plain; charset=UTF-8 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 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 > > > --e89a8fb1ebc2ddcd4104d47f8cc8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Andreas has uploaded Android builds that use the new bloom= filtering and peer selection code (also, dependency analysis of transactio= ns).

The performance gain is very cool. The app fe= els dramatically faster to start up and sync. Because the app syncs on char= ge when I opened it around lunchtime it had only 7 hours of data to sync (4= 2 blocks) and it brought up 6 peer connections, found a 0.7.99 node and syn= ced all in <2 seconds. That was on wifi.

The next lowest hanging perf fruit is almos= t certainly to optimize disk accesses. Flash on Android devices seems to be= much slower than laptop flash storage, and current bitcoinj is very ineffi= cient in how it writes (one write per block header!). This matters a lot wh= en 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 &l= t;bitcoin-lis= t@bluematt.me> wrote:
Actually, there is one more minor algorithmi= c 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 a= n
> interoperable implementation that has also been tested by Andreas in a=
> build of his smartphone app, =C2=A0I'm going to ACK the current co= de 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 performanc= e
> 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



--e89a8fb1ebc2ddcd4104d47f8cc8--