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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
|
Return-Path: <peter.tschipper@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id 3B70D99F
for <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 13 Nov 2015 21:58:07 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com
[209.85.220.42])
by smtp1.linuxfoundation.org (Postfix) with ESMTPS id B14751EA
for <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 13 Nov 2015 21:58:06 +0000 (UTC)
Received: by pacdm15 with SMTP id dm15so111725540pac.3
for <bitcoin-dev@lists.linuxfoundation.org>;
Fri, 13 Nov 2015 13:58:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=from:subject:to:references:message-id:date:user-agent:mime-version
:in-reply-to:content-type;
bh=LX9O/7HZS8RKU58nWQh3ox1fE4LSS2XMu7OFDfL4HAk=;
b=xBZQZuerUhhKbCy+Sa7BCEh9eaLdI/lIC4vJCNFBld/UJUm2+GR4SNHv34CierD4nV
+ZwkFuyXARJo2loZDOHEH5jOA7gdBvMRZNQ0R64xAUP1gAmZt6Ng7/q9NpDuhdGVcnp5
5rw0FKtx+XMT2d+Q8ADvBVtMODt2EqHBUbZrx13U86ipzr8osjxHPDhdfwRfxWqWFH5w
qTx+qeJj7RqVVmOQBILJ9pRI2Q6IMcKSU+WBCD4EBFWyo+Qm3CP7gsbHQa60lyBNUSEE
lkFK5fKyf9TSc9IDv3ujrUBXxbgkZ03v4HJXUk2EHNPvlQ3eJmr5iCtRLMlSDEkBjcKr
5E7A==
X-Received: by 10.66.100.166 with SMTP id ez6mr35635244pab.49.1447451886516;
Fri, 13 Nov 2015 13:58:06 -0800 (PST)
Received: from [192.168.0.132] (S0106bcd165303d84.cc.shawcable.net.
[96.54.102.88]) by smtp.googlemail.com with ESMTPSA id
l9sm20780320pbq.43.2015.11.13.13.58.05
for <bitcoin-dev@lists.linuxfoundation.org>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Fri, 13 Nov 2015 13:58:05 -0800 (PST)
From: Peter Tschipper <peter.tschipper@gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
References: <5640F172.3010004@gmail.com> <20151109210449.GE5886@mcelrath.org>
<CAL7-sS0Apm4O_Qi0FmY7=H580rEVD6DYjk2y+ACpZmKqUJTQwA@mail.gmail.com>
<CALOxbZtTUrZwDfy_jTbs60n=K8RKDGg5X0gkLsh-OX3ikLf1FQ@mail.gmail.com>
<CAE-z3OUB-se_HUvW2NLjWt=0d5sgMiPEciu0hLzr_HQN0m9fqQ@mail.gmail.com>
<5642172C.701@gmail.com>
<CAE-z3OXgWCHL_3CDR-ACc7ojbLi7EavyObNa3s7hPUMGj_V2+A@mail.gmail.com>
<CADm_WcYAj9_r6tu8Be-U81LDwWvnv04PZJMmc-S4cY7+jxfzGw@mail.gmail.com>
<56438A55.2010604@gmail.com>
<CAE0pACK1-xQC4MsdbM46_Z0TQvZTrZKw4e8xFt3X=PmW7pmGJQ@mail.gmail.com>
<27BB52F9-3E3F-443D-93BC-B6843EB992F5@toom.im>
X-Enigmail-Draft-Status: N1110
Message-ID: <56465CEE.6010109@gmail.com>
Date: Fri, 13 Nov 2015 13:58:06 -0800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101
Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <27BB52F9-3E3F-443D-93BC-B6843EB992F5@toom.im>
Content-Type: multipart/alternative;
boundary="------------070100020803090400050108"
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW
autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
smtp1.linux-foundation.org
Subject: [bitcoin-dev] Block Compression (Datastream Compression) test
results using the PR#6973 compression prototype
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Nov 2015 21:58:07 -0000
This is a multi-part message in MIME format.
--------------070100020803090400050108
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit
Some further Block Compression tests results that compare performance
when network latency is added to the mix.
Running two nodes, windows 7, compressionlevel=6, syncing the first
200000 blocks from one node to another. Running on a highspeed wireless
LAN with no connections to the outside world.
Network latency was added by using Netbalancer to induce the 30ms and
60ms latencies.
From the data not only are bandwidth savings seen but also a small
performance savings as well. However, the overall the value in
compressing blocks appears to be in terms of saving bandwidth.
I was also surprised to see that there was no real difference in
performance when no latency was present; apparently the time it takes to
compress is about equal to the performance savings in such a situation.
The following results compare the tests in terms of how long it takes to
sync the blockchain, compressed vs uncompressed and with varying latencies.
uncmp = uncompressed
cmp = compressed
num blocks sync'd uncmp (secs) cmp (secs) uncmp 30ms (secs) cmp 30ms
(secs) uncmp 60ms (secs) cmp 60ms (secs)
10000 264 269 265 257 274 275
20000 482 492 479 467 499 497
30000 703 717 693 676 724 724
40000 918 939 902 886 947 944
50000 1140 1157 1114 1094 1171 1167
60000 1362 1380 1329 1310 1400 1395
70000 1583 1597 1547 1526 1637 1627
80000 1810 1817 1767 1745 1872 1862
90000 2031 2036 1985 1958 2109 2098
100000 2257 2260 2223 2184 2385 2355
110000 2553 2486 2478 2422 2755 2696
120000 2800 2724 2849 2771 3345 3254
130000 3078 2994 3356 3257 4125 4006
140000 3442 3365 3979 3870 5032 4904
150000 3803 3729 4586 4464 5928 5797
160000 4148 4075 5168 5034 6801 6661
170000 4509 4479 5768 5619 7711 7557
180000 4947 4924 6389 6227 8653 8479
190000 5858 5855 7302 7107 9768 9566
200000 6980 6969 8469 8220 10944 10724
--------------070100020803090400050108
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Some further Block Compression tests results that compare
performance when network latency is added to the mix.<br>
<br>
Running two nodes, windows 7, compressionlevel=6, syncing the first
200000 blocks from one node to another. Running on a highspeed
wireless LAN with no connections to the outside world. <br>
Network latency was added by using Netbalancer to induce the 30ms
and 60ms latencies.<br>
<br>
From the data not only are bandwidth savings seen but also a small
performance savings as well. However, the overall the value in
compressing blocks appears to be in terms of saving bandwidth. <br>
<br>
I was also surprised to see that there was no real difference in
performance when no latency was present; apparently the time it
takes to compress is about equal to the performance savings in such
a situation.<br>
<br>
<br>
The following results compare the tests in terms of how long it
takes to sync the blockchain, compressed vs uncompressed and with
varying latencies.<br>
uncmp = uncompressed<br>
cmp = compressed<br>
<br>
<table x:str="" style="border-collapse: collapse;width:653pt"
border="0" width="872" cellpadding="0" cellspacing="0">
<colgroup><col style="mso-width-source:userset;mso-width-alt:4498;
width:92pt" span="5" width="123"> <col
style="mso-width-source:userset;mso-width-alt:4900;width:101pt"
width="134"> <col
style="mso-width-source:userset;mso-width-alt:4498;width:92pt"
width="123"> </colgroup><tbody>
<tr style="height:12.75pt" height="17">
<td style="height:12.75pt;width:92pt" height="17" width="123">num
blocks sync'd</td>
<td style="width:92pt" width="123">uncmp (secs)</td>
<td style="width:92pt" width="123">cmp (secs)</td>
<td style="width:92pt" width="123">uncmp 30ms (secs)</td>
<td style="width:92pt" width="123">cmp 30ms (secs)</td>
<td style="width:101pt" width="134">uncmp 60ms (secs)</td>
<td style="width:92pt" width="123">cmp 60ms (secs)</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">10000</td>
<td class="xl24" x:num="">264</td>
<td class="xl24" x:num="">269</td>
<td class="xl24" x:num="">265</td>
<td class="xl24" x:num="">257</td>
<td class="xl24" x:num="">274</td>
<td class="xl24" x:num="">275</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">20000</td>
<td class="xl24" x:num="">482</td>
<td class="xl24" x:num="">492</td>
<td class="xl24" x:num="">479</td>
<td class="xl24" x:num="">467</td>
<td class="xl24" x:num="">499</td>
<td class="xl24" x:num="">497</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">30000</td>
<td class="xl24" x:num="">703</td>
<td class="xl24" x:num="">717</td>
<td class="xl24" x:num="">693</td>
<td class="xl24" x:num="">676</td>
<td class="xl24" x:num="">724</td>
<td class="xl24" x:num="">724</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">40000</td>
<td class="xl24" x:num="">918</td>
<td class="xl24" x:num="">939</td>
<td class="xl24" x:num="">902</td>
<td class="xl24" x:num="">886</td>
<td class="xl24" x:num="">947</td>
<td class="xl24" x:num="">944</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">50000</td>
<td class="xl24" x:num="">1140</td>
<td class="xl24" x:num="">1157</td>
<td class="xl24" x:num="">1114</td>
<td class="xl24" x:num="">1094</td>
<td class="xl24" x:num="">1171</td>
<td class="xl24" x:num="">1167</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">60000</td>
<td class="xl24" x:num="">1362</td>
<td class="xl24" x:num="">1380</td>
<td class="xl24" x:num="">1329</td>
<td class="xl24" x:num="">1310</td>
<td class="xl24" x:num="">1400</td>
<td class="xl24" x:num="">1395</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">70000</td>
<td class="xl24" x:num="">1583</td>
<td class="xl24" x:num="">1597</td>
<td class="xl24" x:num="">1547</td>
<td class="xl24" x:num="">1526</td>
<td class="xl24" x:num="">1637</td>
<td class="xl24" x:num="">1627</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">80000</td>
<td class="xl24" x:num="">1810</td>
<td class="xl24" x:num="">1817</td>
<td class="xl24" x:num="">1767</td>
<td class="xl24" x:num="">1745</td>
<td class="xl24" x:num="">1872</td>
<td class="xl24" x:num="">1862</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">90000</td>
<td class="xl24" x:num="">2031</td>
<td class="xl24" x:num="">2036</td>
<td class="xl24" x:num="">1985</td>
<td class="xl24" x:num="">1958</td>
<td class="xl24" x:num="">2109</td>
<td class="xl24" x:num="">2098</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">100000</td>
<td class="xl24" x:num="">2257</td>
<td class="xl24" x:num="">2260</td>
<td class="xl24" x:num="">2223</td>
<td class="xl24" x:num="">2184</td>
<td class="xl24" x:num="">2385</td>
<td class="xl24" x:num="">2355</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">110000</td>
<td class="xl24" x:num="">2553</td>
<td class="xl24" x:num="">2486</td>
<td class="xl24" x:num="">2478</td>
<td class="xl24" x:num="">2422</td>
<td class="xl24" x:num="">2755</td>
<td class="xl24" x:num="">2696</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">120000</td>
<td class="xl24" x:num="">2800</td>
<td class="xl24" x:num="">2724</td>
<td class="xl24" x:num="">2849</td>
<td class="xl24" x:num="">2771</td>
<td class="xl24" x:num="">3345</td>
<td class="xl24" x:num="">3254</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">130000</td>
<td class="xl24" x:num="">3078</td>
<td class="xl24" x:num="">2994</td>
<td class="xl24" x:num="">3356</td>
<td class="xl24" x:num="">3257</td>
<td class="xl24" x:num="">4125</td>
<td class="xl24" x:num="">4006</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">140000</td>
<td class="xl24" x:num="">3442</td>
<td class="xl24" x:num="">3365</td>
<td class="xl24" x:num="">3979</td>
<td class="xl24" x:num="">3870</td>
<td class="xl24" x:num="">5032</td>
<td class="xl24" x:num="">4904</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">150000</td>
<td class="xl24" x:num="">3803</td>
<td class="xl24" x:num="">3729</td>
<td class="xl24" x:num="">4586</td>
<td class="xl24" x:num="">4464</td>
<td class="xl24" x:num="">5928</td>
<td class="xl24" x:num="">5797</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">160000</td>
<td class="xl24" x:num="">4148</td>
<td class="xl24" x:num="">4075</td>
<td class="xl24" x:num="">5168</td>
<td class="xl24" x:num="">5034</td>
<td class="xl24" x:num="">6801</td>
<td class="xl24" x:num="">6661</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">170000</td>
<td class="xl24" x:num="">4509</td>
<td class="xl24" x:num="">4479</td>
<td class="xl24" x:num="">5768</td>
<td class="xl24" x:num="">5619</td>
<td class="xl24" x:num="">7711</td>
<td class="xl24" x:num="">7557</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">180000</td>
<td class="xl24" x:num="">4947</td>
<td class="xl24" x:num="">4924</td>
<td class="xl24" x:num="">6389</td>
<td class="xl24" x:num="">6227</td>
<td class="xl24" x:num="">8653</td>
<td class="xl24" x:num="">8479</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">190000</td>
<td class="xl24" x:num="">5858</td>
<td class="xl24" x:num="">5855</td>
<td class="xl24" x:num="">7302</td>
<td class="xl24" x:num="">7107</td>
<td class="xl24" x:num="">9768</td>
<td class="xl24" x:num="">9566</td>
</tr>
<tr style="height:12.75pt" height="17">
<td class="xl24" style="height:12.75pt" x:num="" height="17">200000</td>
<td class="xl24" x:num="">6980</td>
<td class="xl24" x:num="">6969</td>
<td class="xl24" x:num="">8469</td>
<td class="xl24" x:num="">8220</td>
<td class="xl24" x:num="">10944</td>
<td class="xl24" x:num="">10724</td>
</tr>
</tbody>
</table>
<br>
</body>
</html>
--------------070100020803090400050108--
|