Commit Graph

60 Commits (ab26eb412646d995bc07af659e8abd4f679ae63d)

Author SHA1 Message Date
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 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 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 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
klauspost 2b4171b9e6 Initial version 2015-06-19 16:31:24 +02:00