Skip to content

Commit

Permalink
updated benchmark test
Browse files Browse the repository at this point in the history
  • Loading branch information
mihir20 committed Sep 9, 2024
1 parent 455b1ad commit 6d9bb4a
Showing 1 changed file with 42 additions and 22 deletions.
64 changes: 42 additions & 22 deletions encrypt/benchmark_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,51 @@ import (
)

/*
BenchmarkEncryptDecrypt/AESCFB_AES128
BenchmarkEncryptDecrypt/AESCFB_AES128-12 573664 2027 ns/op 1600 B/op 15 allocs/op
BenchmarkEncryptDecrypt/AESCFB_AES192
BenchmarkEncryptDecrypt/AESCFB_AES192-12 557448 2079 ns/op 1728 B/op 15 allocs/op
BenchmarkEncryptDecrypt/AESCFB_AES256
BenchmarkEncryptDecrypt/AESCFB_AES256-12 531597 2210 ns/op 1856 B/op 15 allocs/op
BenchmarkEncryptDecrypt/AESGCM_AES128
BenchmarkEncryptDecrypt/AESGCM_AES128-12 723628 1626 ns/op 2480 B/op 13 allocs/op
BenchmarkEncryptDecrypt/AESGCM_AES192
BenchmarkEncryptDecrypt/AESGCM_AES192-12 679282 1641 ns/op 2608 B/op 13 allocs/op
BenchmarkEncryptDecrypt/AESGCM_AES256
BenchmarkEncryptDecrypt/AESGCM_AES256-12 687800 1720 ns/op 2736 B/op 13 allocs/op
BenchmarkEncryptDecrypt
BenchmarkEncryptDecrypt/SMALL_AESCFB_AES128
BenchmarkEncryptDecrypt/SMALL_AESCFB_AES128-12 941356 1252 ns/op 1152 B/op 15 allocs/op
BenchmarkEncryptDecrypt/SMALL_AESCFB_AES192
BenchmarkEncryptDecrypt/SMALL_AESCFB_AES192-12 907440 1249 ns/op 1280 B/op 15 allocs/op
BenchmarkEncryptDecrypt/SMALL_AESCFB_AES256
BenchmarkEncryptDecrypt/SMALL_AESCFB_AES256-12 881331 1429 ns/op 1408 B/op 15 allocs/op
BenchmarkEncryptDecrypt/SMALL_AESGCM_AES128
BenchmarkEncryptDecrypt/SMALL_AESGCM_AES128-12 803842 1444 ns/op 1616 B/op 13 allocs/op
BenchmarkEncryptDecrypt/SMALL_AESGCM_AES192
BenchmarkEncryptDecrypt/SMALL_AESGCM_AES192-12 805350 1443 ns/op 1744 B/op 13 allocs/op
BenchmarkEncryptDecrypt/SMALL_AESGCM_AES256
BenchmarkEncryptDecrypt/SMALL_AESGCM_AES256-12 744871 1516 ns/op 1872 B/op 13 allocs/op
BenchmarkEncryptDecrypt/LARGE_AESCFB_AES128
BenchmarkEncryptDecrypt/LARGE_AESCFB_AES128-12 315 3674803 ns/op 2106469 B/op 15 allocs/op
BenchmarkEncryptDecrypt/LARGE_AESCFB_AES192
BenchmarkEncryptDecrypt/LARGE_AESCFB_AES192-12 285 4111928 ns/op 2106595 B/op 15 allocs/op
BenchmarkEncryptDecrypt/LARGE_AESCFB_AES256
BenchmarkEncryptDecrypt/LARGE_AESCFB_AES256-12 284 4189400 ns/op 2106725 B/op 15 allocs/op
BenchmarkEncryptDecrypt/LARGE_AESGCM_AES128
BenchmarkEncryptDecrypt/LARGE_AESGCM_AES128-12 1900 614516 ns/op 4204053 B/op 13 allocs/op
BenchmarkEncryptDecrypt/LARGE_AESGCM_AES192
BenchmarkEncryptDecrypt/LARGE_AESGCM_AES192-12 1755 672776 ns/op 4204180 B/op 13 allocs/op
BenchmarkEncryptDecrypt/LARGE_AESGCM_AES256
BenchmarkEncryptDecrypt/LARGE_AESGCM_AES256-12 1624 723403 ns/op 4204308 B/op 13 allocs/op
*/
func BenchmarkEncryptDecrypt(b *testing.B) {
tests := []struct {
name string
algo EncryptionAlgorithm
level EncryptionLevel
payload []byte
name string
algo EncryptionAlgorithm
level EncryptionLevel
}{
{"AESCFB_AES128", EncryptionAlgoAESCFB, EncryptionLevelAES128},
{"AESCFB_AES192", EncryptionAlgoAESCFB, EncryptionLevelAES192},
{"AESCFB_AES256", EncryptionAlgoAESCFB, EncryptionLevelAES256},
{"AESGCM_AES128", EncryptionAlgoAESGCM, EncryptionLevelAES128},
{"AESGCM_AES192", EncryptionAlgoAESGCM, EncryptionLevelAES192},
{"AESGCM_AES256", EncryptionAlgoAESGCM, EncryptionLevelAES256},
{[]byte("small payload"), "SMALL_AESCFB_AES128", EncryptionAlgoAESCFB, EncryptionLevelAES128},
{[]byte("small payload"), "SMALL_AESCFB_AES192", EncryptionAlgoAESCFB, EncryptionLevelAES192},
{[]byte("small payload"), "SMALL_AESCFB_AES256", EncryptionAlgoAESCFB, EncryptionLevelAES256},
{[]byte("small payload"), "SMALL_AESGCM_AES128", EncryptionAlgoAESGCM, EncryptionLevelAES128},
{[]byte("small payload"), "SMALL_AESGCM_AES192", EncryptionAlgoAESGCM, EncryptionLevelAES192},
{[]byte("small payload"), "SMALL_AESGCM_AES256", EncryptionAlgoAESGCM, EncryptionLevelAES256},
{make([]byte, 2*1024*1024), "LARGE_AESCFB_AES128", EncryptionAlgoAESCFB, EncryptionLevelAES128},
{make([]byte, 2*1024*1024), "LARGE_AESCFB_AES192", EncryptionAlgoAESCFB, EncryptionLevelAES192},
{make([]byte, 2*1024*1024), "LARGE_AESCFB_AES256", EncryptionAlgoAESCFB, EncryptionLevelAES256},
{make([]byte, 2*1024*1024), "LARGE_AESGCM_AES128", EncryptionAlgoAESGCM, EncryptionLevelAES128},
{make([]byte, 2*1024*1024), "LARGE_AESGCM_AES192", EncryptionAlgoAESGCM, EncryptionLevelAES192},
{make([]byte, 2*1024*1024), "LARGE_AESGCM_AES256", EncryptionAlgoAESGCM, EncryptionLevelAES256},
}

for _, tt := range tests {
Expand All @@ -43,7 +63,7 @@ func BenchmarkEncryptDecrypt(b *testing.B) {
key, err := generateRandomString(int(tt.level / 8))
require.NoError(b, err)

plaintext := loremIpsumDolor
plaintext := tt.payload

b.ResetTimer()
for i := 0; i < b.N; i++ {
Expand Down

0 comments on commit 6d9bb4a

Please sign in to comment.