Commit Graph

108 Commits (a3ee8967cb40cd0aa620a8ed08efa762b8264a52)

Author SHA1 Message Date
klauspost a3ee8967cb asmfmt assembler. 2015-12-14 14:57:49 +01:00
Klaus Post 75cae61a5b Merge pull request #13 from klauspost/avx2
Add AVX2 assembler
2015-12-14 14:21:20 +01:00
klauspost 627f48f59e Add AVX2 assembler functions.
Benchmarks on a VM (therefore a bit more noisy)

benchmark                             old ns/op     new ns/op     delta
BenchmarkEncode10x2x10000-8           58372         47421         -18.76%
BenchmarkEncode100x20x10000-8         2635444       1550511       -41.17%
BenchmarkEncode17x3x1M-8              3885495       2231034       -42.58%
BenchmarkEncode10x4x16M-8             24180221      21467661      -11.22%
BenchmarkEncode5x2x1M-8               2395287       2261452       -5.59%
BenchmarkEncode10x2x1M-8              2571278       2566560       -0.18%
BenchmarkEncode10x4x1M-8              3396774       3431916       +1.03%
BenchmarkEncode50x20x1M-8             27004601      20325731      -24.73%
BenchmarkEncode17x3x16M-8             29671393      23668596      -20.23%
BenchmarkVerify10x2x10000-8           109730        101519        -7.48%
BenchmarkVerify50x5x50000-8           3904166       3101568       -20.56%
BenchmarkVerify10x2x1M-8              4398490       4721719       +7.35%
BenchmarkVerify5x2x1M-8               3174574       3296440       +3.84%
BenchmarkVerify10x4x1M-8              5247394       5346667       +1.89%
BenchmarkVerify50x20x1M-8             35742777      26154681      -26.83%
BenchmarkVerify10x4x16M-8             52873512      54931253      +3.89%

benchmark                             old MB/s     new MB/s     speedup
BenchmarkEncode10x2x10000-8           1713.14      2108.73      1.23x
BenchmarkEncode100x20x10000-8         379.44       644.95       1.70x
BenchmarkEncode17x3x1M-8              4587.78      7989.92      1.74x
BenchmarkEncode10x4x16M-8             6938.40      7815.11      1.13x
BenchmarkEncode5x2x1M-8               2188.83      2318.37      1.06x
BenchmarkEncode10x2x1M-8              4078.03      4085.53      1.00x
BenchmarkEncode10x4x1M-8              3086.98      3055.37      0.99x
BenchmarkEncode50x20x1M-8             1941.48      2579.43      1.33x
BenchmarkEncode17x3x16M-8             9612.38      12050.26     1.25x
BenchmarkVerify10x2x10000-8           911.32       985.03       1.08x
BenchmarkVerify50x5x50000-8           1280.68      1612.09      1.26x
BenchmarkVerify10x2x1M-8              2383.94      2220.75      0.93x
BenchmarkVerify5x2x1M-8               1651.52      1590.47      0.96x
BenchmarkVerify10x4x1M-8              1998.28      1961.18      0.98x
BenchmarkVerify50x20x1M-8             1466.84      2004.57      1.37x
BenchmarkVerify10x4x16M-8             3173.09      3054.22      0.96x
2015-12-14 14:12:09 +01:00
klauspost eef4ac6aa3 Use goimports instead of gofmt. 2015-11-03 12:50:54 +01:00
klauspost e125c8bc8c Fix comment. 2015-11-03 12:36:28 +01:00
klauspost df20f9a1a9 Manually fetch dependencies. 2015-11-03 12:17:06 +01:00
klauspost d70b66fe1a Add golint and vet tests. 2015-11-03 12:13:11 +01:00
klauspost 976a24f33b Move examples to separate file/package
This makes the reedsolomon package prefix show up in the documentation examples.

+ StreamEncoder example.
2015-11-03 12:12:42 +01:00
klauspost 94aef4a146 Add stream order information. 2015-11-03 12:10:37 +01:00
klauspost 180472d98f Make documentation conform to go vet. 2015-11-03 12:09:36 +01:00
klauspost 5dedbfc3ff Update streaming documentation. 2015-10-27 15:59:47 +01:00
Klaus Post 4c33f7e599 Remove duplicated package documentation. 2015-10-27 15:39:19 +01:00
Klaus Post 064a64aeae Update README.md
Add documentation links.
2015-10-27 15:37:09 +01:00
Klaus Post 625de3d05c Merge pull request #10 from klauspost/streaming-api
Add streaming API
2015-10-27 15:26:32 +01:00
klauspost d2a0b1c12f Show master branch status 2015-10-27 15:14:59 +01:00
klauspost 2708e36b73 Remove the streaming example for now. 2015-10-27 14:56:30 +01:00
klauspost 64a2a9b848 Add performance note. 2015-10-27 14:54:40 +01:00
klauspost e05cf9c197 Convert benchmarks to streams. 2015-10-27 14:54:09 +01:00
klauspost cfc4949ad7 Add Streaming information to the README.md 2015-10-27 14:20:22 +01:00
klauspost 44ba449195 Test that streaming examples builds 2015-10-27 13:57:35 +01:00
klauspost 1d573f2541 Add streaming API examples. 2015-10-27 13:56:36 +01:00
klauspost 7d91d8d953 Create separate read/write errors. 2015-10-27 11:11:50 +01:00
klauspost ff9a5aff03 Remove StreamError for shard size mismatches
Since the result is pretty random (especially on concurrent reads),
we just return the plan ErrShardSize.
2015-10-27 10:54:08 +01:00
klauspost e78a382960 Add specific error for streams, to help identify the faulty stream. 2015-10-27 10:36:29 +01:00
klauspost 0500314cc5 Add concurrent reads/writes to streaming interface. 2015-10-26 15:59:02 +01:00
klauspost 4bc47caf71 Add streaming API tests. 2015-10-26 14:32:07 +01:00
klauspost 8940ce33cc Return ErrShardNoData if there is no data in stream. 2015-10-26 14:31:10 +01:00
Klaus Post 32af654e33 Trim output shards to be equal size to input shards on last read. 2015-10-24 12:42:04 +02:00
klauspost 3fada41987 Add streaming API 2015-10-23 16:14:55 +02:00
klauspost 5794aae2a9 Add Go 1.5 as test target. 2015-09-18 14:39:07 +02:00
Klaus Post ed82bead6a Merge pull request #8 from lukechampine/join
Fix Split panic
2015-08-09 21:00:52 +02:00
lukechampine 86bd0f239b seed RNG in TestSplitJoin 2015-08-08 18:20:40 -04:00
lukechampine 295bf27a3d fix Split panic 2015-08-08 16:38:55 -04:00
Klaus Post 42c84420f0 Merge pull request #7 from lukechampine/join
Improve test coverage
2015-08-08 20:02:56 +02:00
lukechampine 458f451fc2 add codeSomeShardsP test 2015-08-08 13:52:00 -04:00
lukechampine 0bd572bc5b tweak Split/Join functions 2015-08-08 13:51:12 -04:00
lukechampine bb7bd0036a fully test Split/Join functions 2015-08-08 13:51:11 -04:00
lukechampine 64b705bbf6 fully test Reconstruct function
Well, I can't figure out how to trigger the Invert error.
It may not be possible; need more domain knowledge to be sure.
2015-08-08 13:50:18 -04:00
lukechampine cf985d4451 remove unreachable checkShards case
this case would be caught by shardSize anyway
2015-08-08 13:50:18 -04:00
lukechampine f81ea8daaf fully test Verify function 2015-08-08 13:50:18 -04:00
lukechampine 0238782585 fully test Encode function 2015-08-08 13:50:18 -04:00
lukechampine 10fbe96890 use slice literal 2015-08-06 22:56:32 -04:00
lukechampine 640ab74d9d fully test the New function 2015-08-06 22:47:11 -04:00
lukechampine 5784cfa7ff remove impossible errors 2015-08-06 22:46:27 -04:00
Klaus Post 1b1eb861ea Merge pull request #5 from klauspost/add-travis-tests
Add more Travis CI tests.
2015-06-25 13:31:08 +02:00
klauspost 1a24b22a1a Remove running the executables for now. 2015-06-25 13:24:32 +02:00
klauspost 70e444ba0c Add more Travis CI tests. 2015-06-25 13:18:12 +02:00
klauspost cfcc65d387 Merge branch 'master' of https://github.com/klauspost/reedsolomon 2015-06-24 16:57:59 +02:00
klauspost dc9cd67c8c PSHUFB is S(upplemental)-SSE3, not plain SSE3. 2015-06-24 16:57:38 +02:00
Klaus Post aac3caed38 Merge pull request #2 from pjkundert/fix-dataShards
Correct reference to dataShards
2015-06-23 20:56:26 +02:00