speed: add code comments
This commit is contained in:
parent
fdfaa849f8
commit
f82b9caa9c
|
@ -16,6 +16,12 @@ import (
|
||||||
"github.com/rfjakob/gocryptfs/internal/stupidgcm"
|
"github.com/rfjakob/gocryptfs/internal/stupidgcm"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 128-bit file ID + 64 bit block number = 192 bits = 24 bytes
|
||||||
|
const adLen = 24
|
||||||
|
|
||||||
|
// gocryptfs uses fixed-size 4 kiB blocks
|
||||||
|
const blockSize = 4096
|
||||||
|
|
||||||
// Run - run the speed the test and print the results.
|
// Run - run the speed the test and print the results.
|
||||||
func Run() {
|
func Run() {
|
||||||
bTable := []struct {
|
bTable := []struct {
|
||||||
|
@ -60,14 +66,13 @@ func randBytes(n int) []byte {
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
const blockSize = 4096
|
// bStupidGCM benchmarks stupidgcm's openssl GCM
|
||||||
|
|
||||||
func bStupidGCM(b *testing.B) {
|
func bStupidGCM(b *testing.B) {
|
||||||
if stupidgcm.BuiltWithoutOpenssl {
|
if stupidgcm.BuiltWithoutOpenssl {
|
||||||
b.Skip("openssl has been disabled at compile-time")
|
b.Skip("openssl has been disabled at compile-time")
|
||||||
}
|
}
|
||||||
key := randBytes(32)
|
key := randBytes(32)
|
||||||
authData := randBytes(24)
|
authData := randBytes(adLen)
|
||||||
iv := randBytes(16)
|
iv := randBytes(16)
|
||||||
in := make([]byte, blockSize)
|
in := make([]byte, blockSize)
|
||||||
b.SetBytes(int64(len(in)))
|
b.SetBytes(int64(len(in)))
|
||||||
|
@ -81,9 +86,10 @@ func bStupidGCM(b *testing.B) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bGoGCM benchmarks Go stdlib GCM
|
||||||
func bGoGCM(b *testing.B) {
|
func bGoGCM(b *testing.B) {
|
||||||
key := randBytes(32)
|
key := randBytes(32)
|
||||||
authData := randBytes(24)
|
authData := randBytes(adLen)
|
||||||
iv := randBytes(16)
|
iv := randBytes(16)
|
||||||
in := make([]byte, blockSize)
|
in := make([]byte, blockSize)
|
||||||
b.SetBytes(int64(len(in)))
|
b.SetBytes(int64(len(in)))
|
||||||
|
@ -104,9 +110,10 @@ func bGoGCM(b *testing.B) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bAESSIV benchmarks AES-SIV from github.com/jacobsa/crypto/siv
|
||||||
func bAESSIV(b *testing.B) {
|
func bAESSIV(b *testing.B) {
|
||||||
key := randBytes(64)
|
key := randBytes(64)
|
||||||
authData := randBytes(24)
|
authData := randBytes(adLen)
|
||||||
iv := randBytes(16)
|
iv := randBytes(16)
|
||||||
in := make([]byte, blockSize)
|
in := make([]byte, blockSize)
|
||||||
b.SetBytes(int64(len(in)))
|
b.SetBytes(int64(len(in)))
|
||||||
|
|
Loading…
Reference in New Issue