From f1fcd3be06cd94216f72034816a50ac483f35552 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 27 Nov 2014 02:15:41 -0800 Subject: [PATCH] Make sure to use SIMD Alignment with 32 --- pkgs/erasure/encode.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/erasure/encode.go b/pkgs/erasure/encode.go index f2d4959bf..299d6aba6 100644 --- a/pkgs/erasure/encode.go +++ b/pkgs/erasure/encode.go @@ -38,8 +38,9 @@ const ( ) const ( - DEFAULT_K = 10 - DEFAULT_M = 3 + K = 10 + M = 3 + ALIGN = 32 ) type EncoderParams struct { @@ -148,16 +149,16 @@ func NewEncoder(ep *EncoderParams) *Encoder { } func (e *Encoder) CalcChunkSize(block_len int) int { - var alignment int = e.p.k * e.p.w - var padding = block_len % alignment - var padded_len int - - if padding > 0 { - padded_len = block_len + (alignment - padding) - } else { - padded_len = block_len + var alignment int = ALIGN + var remainder = block_len % alignment + var chunk_size int + + chunk_size = block_len + if remainder > 0 { + chunk_size = block_len + (alignment - remainder) } - return padded_len / e.p.k + + return chunk_size / e.p.k } func (e *Encoder) Encode(block []byte) ([][]byte, int) {