1
0
Fork 0
This commit is contained in:
Casper V. Kristensen 2019-12-06 11:42:21 +01:00
parent e4ec6b421e
commit c247daba01
5 changed files with 523 additions and 0 deletions

12
graph/collect.py Normal file
View file

@ -0,0 +1,12 @@
import subprocess
def main():
for num_servers in [2]:
for database_size in [2, 64, 512, 2048, 8192, 32_768, 65_536, 131_072, 262_144, 524_288, 1_048_576, 2_097_152, 4_194_304, 8_388_608]:
for block_size in [2, 64, 512, 1024, 4096, 8192, 16_384]:
subprocess.run(["java", "dk.au.pir.Driver", "-Xmx60G", str(num_servers), str(database_size), str(block_size)])
if __name__ == '__main__':
main()

88
graph/graph.py Normal file
View file

@ -0,0 +1,88 @@
import math
import statistics
from collections import defaultdict
import matplotlib.pyplot as plt
def load_results(filename) -> dict:
results = defaultdict(list)
with open(filename, "r") as file:
for line in file:
if "error" in line:
continue
values = line.split()
keys = [
("num_servers", int),
("database_size", int),
("block_size", int),
("protocol_name", str),
("total_cpu_time", int),
("bytes_sent", int),
("bytes_received", int)
]
d = dict([(a[0], a[1](b)) for a, b in zip(keys, values)])
results[(d["num_servers"], d["database_size"], d["block_size"], d["protocol_name"])].append(d)
return results
def clean_results(results) -> dict:
cleaned_results = defaultdict(list)
for test, result in results.items():
cpu_time = statistics.mean(sorted([int(r["total_cpu_time"]) for r in result])) # [1:-1]
cleaned_results[result[0]["protocol_name"]].append({**result[0], "total_cpu_time": cpu_time})
return cleaned_results
def plot(all_results: dict, y_func: callable, x_func: callable, title=None, y_label=None, x_label=None):
fig, ax = plt.subplots()
for protocol_name, results in all_results.items():
sorted_results = sorted(results, key=lambda r: x_func(r))
ax.plot(
[x_func(r) for r in sorted_results],
[y_func(r) for r in sorted_results],
)
ax.set_xscale("log", basex=2)
#ax.set_yscale("log", basey=10)
if x_label is not None:
plt.xlabel(x_label)
if y_label is not None:
plt.ylabel(y_label)
plt.legend(all_results.keys(), loc="upper left")
if title is not None:
plt.title(title)
plt.savefig(title.replace(" ", "_").replace("/", "") + ".pdf")
#plt.show()
if __name__ == '__main__':
plot(
clean_results(load_results("results_only_with_8_bs.log")),
y_label="Time",
x_label="Total Database Size",
title="Fixed 8-bit block size",
y_func=lambda r: max(1, r["total_cpu_time"]),
x_func=lambda r: r["database_size"] * r["block_size"]
)
plot(
clean_results(load_results("results_only_with_8_bs.log")),
y_label="Time",
x_label="Total Database Size",
title="Fixed 8-bit block size - simulated 1MiB/s tx, 5MiB/s rx",
y_func=lambda r: r["total_cpu_time"] + (r["bytes_sent"]/(1*1024)) + (r["bytes_received"]/(5*1024)), # 1024 B/ms = 1MiB/s
x_func=lambda r: r["database_size"] * r["block_size"]
)
#plot(
# {n: [r for r in rs if r["block_size"] == 2] for n, rs in clean_results(load_results("results_overflow.log")).items()},
# y_label="Time",
# x_label="Total Database Size",
# title="lol",
# y_func=lambda r: r["total_cpu_time"] + (r["bytes_sent"]/(1*1024)) + (r["bytes_received"]/(10*1024)), # 1024 B/ms = 1MiB/s
# x_func=lambda r: r["database_size"] * r["block_size"]
#)

View file

@ -0,0 +1,73 @@
2 2 8 SendAllScheme 0 0 16
2 2 8 XORScheme 1 256 16
2 2 8 SqrtXORScheme 0 8 8
2 2 8 GeneralInterPolyScheme 16 972 57
2 4 8 SendAllScheme 0 0 32
2 4 8 XORScheme 0 512 16
2 4 8 SqrtXORScheme 0 12 12
2 4 8 GeneralInterPolyScheme 18 2030 51
2 8 8 SendAllScheme 0 0 64
2 8 8 XORScheme 0 1024 16
2 8 8 SqrtXORScheme 0 16 16
2 8 8 GeneralInterPolyScheme 26 4001 67
2 16 8 SendAllScheme 0 0 128
2 16 8 XORScheme 1 2048 16
2 16 8 SqrtXORScheme 0 24 24
2 16 8 GeneralInterPolyScheme 33 8010 73
2 32 8 SendAllScheme 0 0 256
2 32 8 XORScheme 1 4096 16
2 32 8 SqrtXORScheme 0 32 32
2 32 8 GeneralInterPolyScheme 45 16259 63
2 64 8 SendAllScheme 0 0 512
2 64 8 XORScheme 2 8192 16
2 64 8 SqrtXORScheme 0 46 46
2 64 8 GeneralInterPolyScheme 93 32224 53
2 128 8 SendAllScheme 0 0 1024
2 128 8 XORScheme 3 16384 16
2 128 8 SqrtXORScheme 0 64 64
2 128 8 GeneralInterPolyScheme 177 64830 58
2 256 8 SendAllScheme 0 0 2048
2 256 8 XORScheme 5 32768 16
2 256 8 SqrtXORScheme 0 92 92
2 256 8 GeneralInterPolyScheme 380 128646 68
2 512 8 SendAllScheme 0 0 4096
2 512 8 XORScheme 8 65536 16
2 512 8 SqrtXORScheme 0 128 128
2 512 8 GeneralInterPolyScheme 1375 257663 63
2 1024 8 SendAllScheme 0 0 8192
2 1024 8 XORScheme 11 131072 16
2 1024 8 SqrtXORScheme 1 182 182
2 1024 8 GeneralInterPolyScheme 3266 515647 72
2 2048 8 SendAllScheme 0 0 16384
2 2048 8 XORScheme 14 262144 16
2 2048 8 SqrtXORScheme 2 256 256
2 2048 8 GeneralInterPolyScheme 11945 1030172 44
2 4096 8 SendAllScheme 0 0 32768
2 4096 8 XORScheme 20 524288 16
2 4096 8 SqrtXORScheme 3 364 364
2 4096 8 GeneralInterPolyScheme 49149 2060335 56
2 8192 8 SendAllScheme 0 0 65536
2 8192 8 XORScheme 32 1048576 16
2 8192 8 SqrtXORScheme 5 512 512
2 8192 8 GeneralInterPolyScheme 193492 4120832 55
2 16384 8 SendAllScheme 0 0 131072
2 16384 8 XORScheme 40 2097152 16
2 16384 8 SqrtXORScheme 6 726 726
2 32768 8 SendAllScheme 0 0 262144
2 32768 8 XORScheme 66 4194304 16
2 32768 8 SqrtXORScheme 10 1024 1024
2 65536 8 SendAllScheme 0 0 524288
2 65536 8 XORScheme 113 8388608 16
2 65536 8 SqrtXORScheme 14 1450 1450
2 131072 8 SendAllScheme 0 0 1048576
2 131072 8 XORScheme 195 16777216 16
2 131072 8 SqrtXORScheme 17 2048 2048
2 262144 8 SendAllScheme 0 0 2097152
2 262144 8 XORScheme 383 33554432 16
2 262144 8 SqrtXORScheme 26 2898 2898
2 524288 8 SendAllScheme 0 0 4194304
2 524288 8 XORScheme 761 67108864 16
2 524288 8 SqrtXORScheme 37 4096 4096
2 1048576 8 SendAllScheme 0 0 8388608
2 1048576 8 XORScheme 1469 134217728 16
2 1048576 8 SqrtXORScheme 48 5794 5794

290
graph/results_overflow.log Normal file
View file

@ -0,0 +1,290 @@
2 2 2 SendAllScheme 0 0 4
2 2 2 XORScheme 0 16 4
2 2 2 SqrtXORScheme 0 4 4
2 2 2 GeneralInterPolyScheme 5 101 14
2 2 4 SendAllScheme 0 0 8
2 2 4 XORScheme 1 64 8
2 2 4 SqrtXORScheme 0 6 6
2 2 4 GeneralInterPolyScheme 8 406 28
2 2 8 SendAllScheme 0 0 16
2 2 8 XORScheme 1 256 16
2 2 8 SqrtXORScheme 0 8 8
2 2 8 GeneralInterPolyScheme 20 1516 68
2 2 16 SendAllScheme 0 0 32
2 2 16 XORScheme 1 1024 32
2 2 16 SqrtXORScheme 0 12 12
2 2 16 GeneralInterPolyScheme 30 6109 119
2 2 32 SendAllScheme 0 0 64
2 2 32 XORScheme 2 4096 64
2 2 32 SqrtXORScheme 0 16 16
2 2 32 GeneralInterPolyScheme 60 24385 234
2 2 64 SendAllScheme 0 0 128
2 2 64 XORScheme 4 16384 128
2 2 64 SqrtXORScheme 0 24 24
2 2 64 GeneralInterPolyScheme 159 97296 495
2 2 128 SendAllScheme 0 0 256
2 2 128 XORScheme 8 65536 256
2 2 128 SqrtXORScheme 0 32 32
2 2 128 GeneralInterPolyScheme 482 388143 1000
2 2 256 SendAllScheme 0 0 512
2 2 256 XORScheme 21 262144 512
2 2 256 SqrtXORScheme 0 46 46
2 2 256 GeneralInterPolyScheme 1260 1555402 1980
2 2 512 SendAllScheme 0 0 1024
2 2 512 XORScheme 35 1048576 1024
2 2 512 SqrtXORScheme 0 64 64
2 2 512 GeneralInterPolyScheme 5669 6218451 4112
2 2 1024 SendAllScheme 1 0 2048
2 2 1024 XORScheme 104 4194304 2048
2 2 1024 SqrtXORScheme 1 92 92
2 2 1024 GeneralInterPolyScheme 35006 24877715 8039
2 2 2048 SendAllScheme 0 0 4096
2 2 2048 XORScheme 264 16777216 4096
2 2 2048 SqrtXORScheme 1 128 128
2 2 2048 GeneralInterPolyScheme 234295 99507628 16148
2 2 4096 SendAllScheme 1 0 8192
2 2 4096 XORScheme 882 67108864 8192
2 2 4096 SqrtXORScheme 1 182 182
2 2 4096 GeneralInterPolyScheme 1742516 398010203 31995
2 2 8192 SendAllScheme 2 0 16384
2 2 8192 XORScheme 3655 268435456 16384
2 2 8192 SqrtXORScheme 2 256 256
2 4 2 SendAllScheme 0 0 8
2 4 2 XORScheme 0 32 4
2 4 2 SqrtXORScheme 0 6 6
2 4 2 GeneralInterPolyScheme 6 260 19
2 4 4 SendAllScheme 0 0 16
2 4 4 XORScheme 1 128 8
2 4 4 SqrtXORScheme 0 8 8
2 4 4 GeneralInterPolyScheme 18 1035 33
2 4 8 SendAllScheme 0 0 32
2 4 8 XORScheme 1 512 16
2 4 8 SqrtXORScheme 0 12 12
2 4 8 GeneralInterPolyScheme 26 4046 66
2 4 16 SendAllScheme 0 0 64
2 4 16 XORScheme 2 2048 32
2 4 16 SqrtXORScheme 0 16 16
2 4 16 GeneralInterPolyScheme 58 16208 105
2 4 32 SendAllScheme 0 0 128
2 4 32 XORScheme 3 8192 64
2 4 32 SqrtXORScheme 0 24 24
2 4 32 GeneralInterPolyScheme 192 65023 275
2 4 64 SendAllScheme 0 0 256
2 4 64 XORScheme 7 32768 128
2 4 64 SqrtXORScheme 0 32 32
2 4 64 GeneralInterPolyScheme 576 260183 511
2 4 128 SendAllScheme 0 0 512
2 4 128 XORScheme 20 131072 256
2 4 128 SqrtXORScheme 0 46 46
2 4 128 GeneralInterPolyScheme 1351 1038143 984
2 4 256 SendAllScheme 0 0 1024
2 4 256 XORScheme 35 524288 512
2 4 256 SqrtXORScheme 1 64 64
2 4 256 GeneralInterPolyScheme 3899 4157832 2045
2 4 512 SendAllScheme 0 0 2048
2 4 512 XORScheme 82 2097152 1024
2 4 512 SqrtXORScheme 0 92 92
2 4 512 GeneralInterPolyScheme 20137 16635628 4032
2 4 1024 SendAllScheme 1 0 4096
2 4 1024 XORScheme 160 8388608 2048
2 4 1024 SqrtXORScheme 1 128 128
2 4 1024 GeneralInterPolyScheme 132928 66531681 8074
2 4 2048 SendAllScheme 1 0 8192
2 4 2048 XORScheme 525 33554432 4096
2 4 2048 SqrtXORScheme 1 182 182
2 4 2048 GeneralInterPolyScheme 527538 266114795 16031
2 4 4096 SendAllScheme 1 0 16384
2 4 4096 XORScheme 2037 134217728 8192
2 4 4096 SqrtXORScheme 3 256 256
2 4 4096 GeneralInterPolyScheme 3948370 1064454855 32120
2 4 8192 SendAllScheme 1 0 32768
2 4 8192 XORScheme 6361 536870912 16384
2 4 8192 SqrtXORScheme 4 364 364
2 8 2 SendAllScheme 0 0 16
2 8 2 XORScheme 0 64 4
2 8 2 SqrtXORScheme 0 8 8
2 8 2 GeneralInterPolyScheme 6 794 20
2 8 4 SendAllScheme 0 0 32
2 8 4 XORScheme 0 256 8
2 8 4 SqrtXORScheme 0 12 12
2 8 4 GeneralInterPolyScheme 14 3049 26
2 8 8 SendAllScheme 0 0 64
2 8 8 XORScheme 1 1024 16
2 8 8 SqrtXORScheme 0 16 16
2 8 8 GeneralInterPolyScheme 27 12151 71
2 8 16 SendAllScheme 0 0 128
2 8 16 XORScheme 1 4096 32
2 8 16 SqrtXORScheme 0 24 24
2 8 16 GeneralInterPolyScheme 53 48951 128
2 8 32 SendAllScheme 0 0 256
2 8 32 XORScheme 4 16384 64
2 8 32 SqrtXORScheme 0 32 32
2 8 32 GeneralInterPolyScheme 134 195478 254
2 8 64 SendAllScheme 0 0 512
2 8 64 XORScheme 8 65536 128
2 8 64 SqrtXORScheme 0 46 46
2 8 64 GeneralInterPolyScheme 452 782060 512
2 8 128 SendAllScheme 0 0 1024
2 8 128 XORScheme 18 262144 256
2 8 128 SqrtXORScheme 0 64 64
2 8 128 GeneralInterPolyScheme 1670 3126362 998
2 8 256 SendAllScheme 0 0 2048
2 8 256 XORScheme 38 1048576 512
2 8 256 SqrtXORScheme 0 92 92
2 8 256 GeneralInterPolyScheme 7801 12507999 2026
2 8 512 SendAllScheme 0 0 4096
2 8 512 XORScheme 77 4194304 1024
2 8 512 SqrtXORScheme 1 128 128
2 8 512 GeneralInterPolyScheme 52143 50040539 4025
2 8 1024 SendAllScheme 0 0 8192
2 8 1024 XORScheme 215 16777216 2048
2 8 1024 SqrtXORScheme 1 182 182
2 8 1024 GeneralInterPolyScheme 186242 200168213 8091
2 8 2048 SendAllScheme 1 0 16384
2 8 2048 XORScheme 825 67108864 4096
2 8 2048 SqrtXORScheme 2 256 256
2 8 2048 GeneralInterPolyScheme 1095733 800668886 15930
2 8 4096 SendAllScheme 1 0 32768
2 8 4096 XORScheme 3129 268435456 8192
2 8 4096 SqrtXORScheme 3 364 364
2 8 8192 SendAllScheme 2 0 65536
2 8 8192 XORScheme 11887 1073741824 16384
2 8 8192 SqrtXORScheme 5 512 512
2 16 2 SendAllScheme 0 0 32
2 16 2 XORScheme 0 128 4
2 16 2 SqrtXORScheme 0 12 12
2 16 2 GeneralInterPolyScheme 13 2567 15
2 16 4 SendAllScheme 0 0 64
2 16 4 XORScheme 0 512 8
2 16 4 SqrtXORScheme 0 16 16
2 16 4 GeneralInterPolyScheme 19 10259 26
2 16 8 SendAllScheme 0 0 128
2 16 8 XORScheme 1 2048 16
2 16 8 SqrtXORScheme 0 24 24
2 16 8 GeneralInterPolyScheme 34 40868 61
2 16 16 SendAllScheme 0 0 256
2 16 16 XORScheme 2 8192 32
2 16 16 SqrtXORScheme 0 32 32
2 16 16 GeneralInterPolyScheme 89 163447 116
2 16 32 SendAllScheme 0 0 512
2 16 32 XORScheme 5 32768 64
2 16 32 SqrtXORScheme 0 46 46
2 16 32 GeneralInterPolyScheme 299 652708 241
2 16 64 SendAllScheme 0 0 1024
2 16 64 XORScheme 12 131072 128
2 16 64 SqrtXORScheme 0 64 64
2 16 64 GeneralInterPolyScheme 968 2612971 487
2 16 128 SendAllScheme 0 0 2048
2 16 128 XORScheme 22 524288 256
2 16 128 SqrtXORScheme 1 92 92
2 16 128 GeneralInterPolyScheme 4041 10449459 988
2 16 256 SendAllScheme 0 0 4096
2 16 256 XORScheme 50 2097152 512
2 16 256 SqrtXORScheme 1 128 128
2 16 256 GeneralInterPolyScheme 25415 41799328 1962
2 16 512 SendAllScheme 0 0 8192
2 16 512 XORScheme 119 8388608 1024
2 16 512 SqrtXORScheme 1 182 182
2 16 512 GeneralInterPolyScheme 71472 167192432 4022
2 16 1024 SendAllScheme 0 0 16384
2 16 1024 XORScheme 395 33554432 2048
2 16 1024 SqrtXORScheme 2 256 256
2 16 1024 GeneralInterPolyScheme 1874397 668769808 8144
2 16 2048 SendAllScheme 0 0 32768
2 16 2048 XORScheme 1476 134217728 4096
2 16 2048 SqrtXORScheme 4 364 364
2 16 2048 GeneralInterPolyScheme 3699113 -1619870895 16172
2 16 4096 SendAllScheme 1 0 65536
2 16 4096 XORScheme 5859 536870912 8192
2 16 4096 SqrtXORScheme 5 512 512
2 16 8192 SendAllScheme 2 0 131072
2 16 8192 XORScheme 22877 -2147483648 16384
2 16 8192 SqrtXORScheme 7 726 726
2 32 2 SendAllScheme 0 0 64
2 32 2 XORScheme 0 256 4
2 32 2 SqrtXORScheme 0 16 16
2 32 2 GeneralInterPolyScheme 14 9245 14
2 32 4 SendAllScheme 0 0 128
2 32 4 XORScheme 1 1024 8
2 32 4 SqrtXORScheme 0 24 24
2 32 4 GeneralInterPolyScheme 28 36819 37
2 32 8 SendAllScheme 0 0 256
2 32 8 XORScheme 2 4096 16
2 32 8 SqrtXORScheme 0 32 32
2 32 8 GeneralInterPolyScheme 53 147244 60
2 32 16 SendAllScheme 0 0 512
2 32 16 XORScheme 3 16384 32
2 32 16 SqrtXORScheme 0 46 46
2 32 16 GeneralInterPolyScheme 130 588950 121
2 32 32 SendAllScheme 0 0 1024
2 32 32 XORScheme 8 65536 64
2 32 32 SqrtXORScheme 1 64 64
2 32 32 GeneralInterPolyScheme 411 2355221 246
2 32 64 SendAllScheme 0 0 2048
2 32 64 XORScheme 15 262144 128
2 32 64 SqrtXORScheme 0 92 92
2 32 64 GeneralInterPolyScheme 2070 9418458 487
2 32 128 SendAllScheme 0 0 4096
2 32 128 XORScheme 32 1048576 256
2 32 128 SqrtXORScheme 1 128 128
2 32 128 GeneralInterPolyScheme 12432 37677392 995
2 32 256 SendAllScheme 0 0 8192
2 32 256 XORScheme 73 4194304 512
2 32 256 SqrtXORScheme 1 182 182
2 32 256 GeneralInterPolyScheme 35314 150706685 1986
2 32 512 SendAllScheme 0 0 16384
2 32 512 XORScheme 205 16777216 1024
2 32 512 SqrtXORScheme 2 256 256
2 32 512 GeneralInterPolyScheme 698511 602819855 4055
2 32 1024 SendAllScheme 0 0 32768
2 32 1024 XORScheme 765 67108864 2048
2 32 1024 SqrtXORScheme 4 364 364
2 32 1024 GeneralInterPolyScheme 1829341 -1883688619 8033
2 32 2048 SendAllScheme 1 0 65536
2 32 2048 XORScheme 2874 268435456 4096
2 32 2048 SqrtXORScheme 4 512 512
2 32 4096 SendAllScheme 1 0 131072
2 32 4096 XORScheme 11286 1073741824 8192
2 32 4096 SqrtXORScheme 6 726 726
2 32 8192 SendAllScheme 2 0 262144
2 32 8192 XORScheme 45281 0 16384
2 32 8192 SqrtXORScheme 10 1024 1024
2 64 2 SendAllScheme 0 0 128
2 64 2 XORScheme 0 512 4
2 64 2 SqrtXORScheme 0 24 24
2 64 2 GeneralInterPolyScheme 17 34736 16
2 64 4 SendAllScheme 0 0 256
2 64 4 XORScheme 1 2048 8
2 64 4 SqrtXORScheme 0 32 32
2 64 4 GeneralInterPolyScheme 33 139082 34
2 64 8 SendAllScheme 0 0 512
2 64 8 XORScheme 1 8192 16
2 64 8 SqrtXORScheme 0 46 46
2 64 8 GeneralInterPolyScheme 76 556386 59
2 64 16 SendAllScheme 0 0 1024
2 64 16 XORScheme 5 32768 32
2 64 16 SqrtXORScheme 0 64 64
2 64 16 GeneralInterPolyScheme 286 2225350 134
2 64 32 SendAllScheme 0 0 2048
2 64 32 XORScheme 11 131072 64
2 64 32 SqrtXORScheme 0 92 92
2 64 32 GeneralInterPolyScheme 1126 8904951 258
2 64 64 SendAllScheme 0 0 4096
2 64 64 XORScheme 20 524288 128
2 64 64 SqrtXORScheme 0 128 128
2 64 64 GeneralInterPolyScheme 6424 35614847 462
2 64 128 SendAllScheme 1 0 8192
2 64 128 XORScheme 46 2097152 256
2 64 128 SqrtXORScheme 1 182 182
2 64 128 GeneralInterPolyScheme 45337 142460770 1016
2 64 256 SendAllScheme 0 0 16384
2 64 256 XORScheme 113 8388608 512
2 64 256 SqrtXORScheme 2 256 256
2 64 256 GeneralInterPolyScheme 127347 569855779 1993
2 64 512 SendAllScheme 0 0 32768
2 64 512 XORScheme 386 33554432 1024
2 64 512 SqrtXORScheme 3 364 364
2 64 512 GeneralInterPolyScheme 946559 -2015575885 4032
2 64 1024 SendAllScheme 1 0 65536
2 64 1024 XORScheme 1448 134217728 2048
2 64 1024 SqrtXORScheme 5 512 512

60
graph/results_small.log Normal file
View file

@ -0,0 +1,60 @@
2 2 1 SendAllScheme 1 0 2
2 2 1 XORScheme 0 4 2
2 2 1 SqrtXORScheme 0 4 4
2 2 1 GeneralInterPolyScheme 3 19 10
2 4 1 SendAllScheme 0 0 4
2 4 1 XORScheme 1 8 2
2 4 1 SqrtXORScheme 0 4 4
2 4 1 GeneralInterPolyScheme 1 30 10
2 8 1 SendAllScheme 0 0 8
2 8 1 XORScheme 0 16 2
2 8 1 SqrtXORScheme 0 6 6
2 8 1 GeneralInterPolyScheme 2 56 7
2 16 1 SendAllScheme 0 0 16
2 16 1 XORScheme 0 32 2
2 16 1 SqrtXORScheme 0 8 8
2 16 1 GeneralInterPolyScheme 2 129 9
2 32 1 SendAllScheme 0 0 32
2 32 1 XORScheme 0 64 2
2 32 1 SqrtXORScheme 0 12 12
2 32 1 GeneralInterPolyScheme 3 246 0
2 64 1 SendAllScheme 0 0 64
2 64 1 XORScheme 0 128 2
2 64 1 SqrtXORScheme 0 16 16
2 64 1 GeneralInterPolyScheme 4 516 3
2 128 1 SendAllScheme 0 0 128
2 128 1 XORScheme 0 256 2
2 128 1 SqrtXORScheme 0 24 24
2 128 1 GeneralInterPolyScheme 8 978 9
2 256 1 SendAllScheme 0 0 256
2 256 1 XORScheme 1 512 2
2 256 1 SqrtXORScheme 0 32 32
2 256 1 GeneralInterPolyScheme 10 2022 9
2 512 1 SendAllScheme 0 0 512
2 512 1 XORScheme 1 1024 2
2 512 1 SqrtXORScheme 0 46 46
2 512 1 GeneralInterPolyScheme 8 4041 7
2 1024 1 SendAllScheme 0 0 1024
2 1024 1 XORScheme 0 2048 2
2 1024 1 SqrtXORScheme 0 64 64
2 1024 1 GeneralInterPolyScheme 23 7995 9
2 2048 1 SendAllScheme 0 0 2048
2 2048 1 XORScheme 1 4096 2
2 2048 1 SqrtXORScheme 0 92 92
2 2048 1 GeneralInterPolyScheme 66 16014 9
2 4096 1 SendAllScheme 0 0 4096
2 4096 1 XORScheme 1 8192 2
2 4096 1 SqrtXORScheme 0 128 128
2 4096 1 GeneralInterPolyScheme 252 32207 5
2 8192 1 SendAllScheme 0 0 8192
2 8192 1 XORScheme 2 16384 2
2 8192 1 SqrtXORScheme 2 182 182
2 8192 1 GeneralInterPolyScheme 792 64284 10
2 16384 1 SendAllScheme 0 0 16384
2 16384 1 XORScheme 5 32768 2
2 16384 1 SqrtXORScheme 2 256 256
2 16384 1 GeneralInterPolyScheme 1967 129123 10
2 32768 1 SendAllScheme 0 0 32768
2 32768 1 XORScheme 4 65536 2
2 32768 1 SqrtXORScheme 1 364 364
2 32768 1 GeneralInterPolyScheme 5907 256841 9