Commit Graph

222 Commits (653e76aa2635918aeb32416e119c1a27427e8897)

Author SHA1 Message Date
Klaus Post ab50161bb9 Update benchmarks. 2015-06-20 20:51:26 +02:00
Klaus Post 437e364842 Adjust splitsize:
benchmark                         old ns/op     new ns/op     delta
BenchmarkEncode10x2x10000-2       243613        229413        -5.83%
BenchmarkEncode100x20x10000-2     23041318      19311104      -16.19%
BenchmarkEncode17x3x1M-2          54469780      49602836      -8.94%
BenchmarkEncode10x4x16M-2         674538600     647037000     -4.08%

Bigger sizes (1024) yeilds slower less speedup.
2015-06-20 20:32:52 +02:00
Klaus Post 9f6744582c Also refactor Verify as well as multithreaded options.
benchmark                       old MB/s     new MB/s     speedup
BenchmarkEncode10x2x10000       182.29       308.59       1.69x
BenchmarkEncode100x20x10000     14.41        30.29        2.10x
BenchmarkEncode17x3x1M          38.52        196.43       5.10x
BenchmarkEncode10x4x16M         23.78        148.58       6.25x
2015-06-20 20:00:25 +02:00
Klaus Post 50a83296f4 Restructure to make one of the galois multiplication parts constant for the main loop. 2015-06-20 18:46:06 +02:00
Klaus Post 921adcb5d5 Use range to avoid one bound check per galMultiply:
benchmark                       old MB/s     new MB/s     speedup
BenchmarkVerify10x2x10000-2     235.24       253.36       1.08x
BenchmarkVerify50x5x50000-2     76.78        94.87        1.24x
BenchmarkVerify10x2x1M-2        180.90       209.73       1.16x
BenchmarkVerify5x2x1M-2         173.22       202.89       1.17x
BenchmarkVerify10x4x1M-2        71.51        118.20       1.65x
BenchmarkVerify50x20x1M-2       11.27        12.84        1.14x
BenchmarkVerify10x4x16M-2       44.74        50.07        1.12x
2015-06-20 14:51:11 +02:00
Klaus Post 36a0e57744 Begin docs. 2015-06-20 13:10:51 +02:00
Klaus Post d54843ee41 Add Encoder example (and test) 2015-06-20 11:29:26 +02:00
Klaus Post 419c6cc9e9 Add Splitter to help split data into shards. 2015-06-20 11:27:03 +02:00
Klaus Post c5de03551c Minor adjustments for golint. 2015-06-20 10:11:33 +02:00
Klaus Post fdb7664a06 Hide internal matrix errors and document the used ones. 2015-06-20 10:08:59 +02:00
Klaus Post 3add2c1c30 Precalculate the results of galMultiply. Approx 30% faster overall performance. 2015-06-19 20:07:57 +02:00
Klaus Post cf70107291 Add verification test that also tests failure. 2015-06-19 19:20:44 +02:00
Klaus Post 481b39ba1c Use a mutex to check if other goroutines have detected a difference. This avoid rare "close of closed channel" panic. 2015-06-19 19:15:31 +02:00
Klaus Post e3aca6cd9d Shorten the variable names and make an encoder interface, so it isn't possible to create it without calling New. 2015-06-19 18:54:58 +02:00
Klaus Post 67f8d8b8c7 Add another benchmark. 2015-06-19 18:25:48 +02:00
Klaus Post 8296e44d17 Update documentation, and test if all shards are zero-sized. 2015-06-19 18:21:38 +02:00
Klaus Post 755a781502 Remove unused types. 2015-06-19 17:27:22 +02:00
Klaus Post b37221bf11 Add build status and godoc 2015-06-19 17:26:38 +02:00
Klaus Post 42e3abe057 Add Travis build testing 2015-06-19 17:24:30 +02:00
klauspost 4d24488df4 Add Backblaze to LICENSE. 2015-06-19 16:35:13 +02:00
klauspost 2b4171b9e6 Initial version 2015-06-19 16:31:24 +02:00
Klaus Post 8bebd4bfa9 Initial commit 2015-06-19 16:29:41 +02:00