Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DecryptBuffer for small payloads #40

Merged
merged 3 commits into from Oct 22, 2020

Conversation

klauspost
Copy link
Contributor

Adds a DecryptBuffer which will allow to decrypt smaller buffers without too much overhead.

There is fallback for the legacy DARE1 which doesn't benefit too much from this, but that can be added later if needed.

Adds a `DecryptBuffer` which will allow to decrypt smaller buffers without too much overhead.

There is fallback for the legacy DARE1 which doesn't benefit too much from this, but that can be added later if needed.
@klauspost klauspost requested a review from aead October 21, 2020 15:23
klauspost added a commit to klauspost/minio that referenced this pull request Oct 21, 2020
`decryptObjectInfo` is a significant bottleneck when listing objects.

Reduce the allocations for a significant speedup.

Requires:

minio/sio#40

`go.mod` replace term until upstream is available.

```
λ benchcmp before.txt after.txt
benchmark                          old ns/op     new ns/op     delta
Benchmark_decryptObjectInfo-32     24260928      808656        -96.67%

benchmark                          old MB/s     new MB/s     speedup
Benchmark_decryptObjectInfo-32     0.04         1.24         31.00x

benchmark                          old allocs     new allocs     delta
Benchmark_decryptObjectInfo-32     75112          48996          -34.77%

benchmark                          old bytes     new bytes     delta
Benchmark_decryptObjectInfo-32     287694772     4228076       -98.53%
```
reader-v2.go Outdated Show resolved Hide resolved
Copy link
Member

@aead aead left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the one comment, LGTM

reader-v2.go Outdated Show resolved Hide resolved
@harshavardhana harshavardhana merged commit ae02134 into minio:master Oct 22, 2020
harshavardhana pushed a commit to minio/minio that referenced this pull request Oct 29, 2020
`decryptObjectInfo` is a significant bottleneck when listing objects.

Reduce the allocations for a significant speedup.

minio/sio#40

```
λ benchcmp before.txt after.txt
benchmark                          old ns/op     new ns/op     delta
Benchmark_decryptObjectInfo-32     24260928      808656        -96.67%

benchmark                          old MB/s     new MB/s     speedup
Benchmark_decryptObjectInfo-32     0.04         1.24         31.00x

benchmark                          old allocs     new allocs     delta
Benchmark_decryptObjectInfo-32     75112          48996          -34.77%

benchmark                          old bytes     new bytes     delta
Benchmark_decryptObjectInfo-32     287694772     4228076       -98.53%
```
harshavardhana pushed a commit to minio/minio that referenced this pull request Oct 31, 2020
`decryptObjectInfo` is a significant bottleneck when listing objects.

Reduce the allocations for a significant speedup.

minio/sio#40

```
λ benchcmp before.txt after.txt
benchmark                          old ns/op     new ns/op     delta
Benchmark_decryptObjectInfo-32     24260928      808656        -96.67%

benchmark                          old MB/s     new MB/s     speedup
Benchmark_decryptObjectInfo-32     0.04         1.24         31.00x

benchmark                          old allocs     new allocs     delta
Benchmark_decryptObjectInfo-32     75112          48996          -34.77%

benchmark                          old bytes     new bytes     delta
Benchmark_decryptObjectInfo-32     287694772     4228076       -98.53%
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants