b64_test.go 773 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package encoding
  2. import (
  3. "encoding/base64"
  4. "testing"
  5. "github.com/langgenius/dify-plugin-daemon/tests"
  6. )
  7. func BenchmarkBase64(b *testing.B) {
  8. var data = []byte("hello world")
  9. bytes := 0
  10. var dst = make([]byte, base64.StdEncoding.EncodedLen(len(data)))
  11. b.Run("Encode", func(b *testing.B) {
  12. for i := 0; i < b.N; i++ {
  13. base64.StdEncoding.Encode(dst, data)
  14. bytes += len(data)
  15. }
  16. })
  17. b.Log("Bytes encoded:", tests.ReadableBytes(bytes))
  18. encoded := make([]byte, base64.StdEncoding.EncodedLen(len(data)))
  19. bytes = 0
  20. base64.StdEncoding.Encode(encoded, data)
  21. b.Run("Decode", func(b *testing.B) {
  22. for i := 0; i < b.N; i++ {
  23. base64.StdEncoding.Decode(dst, encoded)
  24. bytes += len(encoded)
  25. }
  26. })
  27. b.Log("Bytes decoded:", tests.ReadableBytes(bytes))
  28. }