summaryrefslogtreecommitdiff
path: root/2f/994e69fa81a5e80cf239eb8ce5c2d6252366cc
blob: 23a431b2d04f4169248cbbc6ac4e559db5fbb1a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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 <mh.in.england@gmail.com>) 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 <bitcoin-development@lists.sourceforge.net>;
	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: <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>
Date: Wed, 30 Jan 2013 12:09:55 +0100
X-Google-Sender-Auth: RKaLeSBrG8rjMV-Hm7flkdZurDA
Message-ID: <CANEZrP0HPgNKaNUMbFQS4Hj+gBQ6c7gatoeUXEiRSCA0wBkenA@mail.gmail.com>
From: Mike Hearn <mike@plan99.net>
To: Matt Corallo <bitcoin-list@bluematt.me>
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 <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: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 <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
>
>
>

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

<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 style>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 &lt;2 seconds. That was on wifi.</div>
<div style><br></div><div style>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.</div>
<div style><br></div><div style>The BIP is now a little bit stale, but only=
 slightly.</div></div><div class=3D"gmail_extra"><br><br><div class=3D"gmai=
l_quote">On Wed, Jan 16, 2013 at 4:00 PM, Matt Corallo <span dir=3D"ltr">&l=
t;<a href=3D"mailto:bitcoin-list@bluematt.me" target=3D"_blank">bitcoin-lis=
t@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 class=3D"HOEnZb"><font color=3D"#888888"><br>
Matt<br>
</font></span><div class=3D"HOEnZb"><div class=3D"h5"><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>

--e89a8fb1ebc2ddcd4104d47f8cc8--