From c00dcb7e67a3199d5069f7a89638d8b4cfad2bb7 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Mon, 4 Nov 2019 10:11:59 +0000 Subject: [PATCH] chunkedreader: disable hash calculation for first segment This will produce a slight speedup for small files. --- fs/chunkedreader/chunkedreader.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/chunkedreader/chunkedreader.go b/fs/chunkedreader/chunkedreader.go index ac8b7f565..4e0065947 100644 --- a/fs/chunkedreader/chunkedreader.go +++ b/fs/chunkedreader/chunkedreader.go @@ -7,6 +7,7 @@ import ( "sync" "github.com/rclone/rclone/fs" + "github.com/rclone/rclone/fs/hash" ) // io related errors returned by ChunkedReader @@ -215,12 +216,12 @@ func (cr *ChunkedReader) openRange() error { var err error if length <= 0 { if offset == 0 { - rc, err = cr.o.Open(cr.ctx) + rc, err = cr.o.Open(cr.ctx, &fs.HashesOption{Hashes: hash.Set(hash.None)}) } else { - rc, err = cr.o.Open(cr.ctx, &fs.RangeOption{Start: offset, End: -1}) + rc, err = cr.o.Open(cr.ctx, &fs.HashesOption{Hashes: hash.Set(hash.None)}, &fs.RangeOption{Start: offset, End: -1}) } } else { - rc, err = cr.o.Open(cr.ctx, &fs.RangeOption{Start: offset, End: offset + length - 1}) + rc, err = cr.o.Open(cr.ctx, &fs.HashesOption{Hashes: hash.Set(hash.None)}, &fs.RangeOption{Start: offset, End: offset + length - 1}) } if err != nil { return err