aboutsummaryrefslogtreecommitdiff
path: root/bytesconv_timing_test.go
diff options
context:
space:
mode:
authorGravatar Aliaksandr Valialkin <valyala@gmail.com> 2017-06-20 13:40:15 +0300
committerGravatar Aliaksandr Valialkin <valyala@gmail.com> 2017-06-20 13:40:15 +0300
commit2db9429ff782eb3b4e7cae05c92d6463ea6fac3c (patch)
treed44604cb0a82982beedc18f653b155e578915101 /bytesconv_timing_test.go
parentAdded AppendUnquotedArg - the complementary function to AppendQuotedArg (diff)
downloadfasthttp-2db9429ff782eb3b4e7cae05c92d6463ea6fac3c.tar.gz
fasthttp-2db9429ff782eb3b4e7cae05c92d6463ea6fac3c.tar.bz2
fasthttp-2db9429ff782eb3b4e7cae05c92d6463ea6fac3c.zip
added a fast path to decodeArgAppend when the arg doesnt contain encoded chars
Diffstat (limited to 'bytesconv_timing_test.go')
-rw-r--r--bytesconv_timing_test.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/bytesconv_timing_test.go b/bytesconv_timing_test.go
index bd416d1..53f04ac 100644
--- a/bytesconv_timing_test.go
+++ b/bytesconv_timing_test.go
@@ -165,3 +165,23 @@ func BenchmarkLowercaseBytesMixed(b *testing.B) {
}
})
}
+
+func BenchmarkAppendUnquotedArgFastPath(b *testing.B) {
+ src := []byte("foobarbaz no quoted chars fdskjsdf jklsdfdfskljd;aflskjdsaf fdsklj fsdkj fsdl kfjsdlk jfsdklj fsdfsdf sdfkflsd")
+ b.RunParallel(func(pb *testing.PB) {
+ var dst []byte
+ for pb.Next() {
+ dst = AppendUnquotedArg(dst[:0], src)
+ }
+ })
+}
+
+func BenchmarkAppendUnquotedArgSlowPath(b *testing.B) {
+ src := []byte("D0%B4%20%D0%B0%D0%B2%D0%BB%D0%B4%D1%84%D1%8B%D0%B0%D0%BE%20%D1%84%D0%B2%D0%B6%D0%BB%D0%B4%D1%8B%20%D0%B0%D0%BE")
+ b.RunParallel(func(pb *testing.PB) {
+ var dst []byte
+ for pb.Next() {
+ dst = AppendUnquotedArg(dst[:0], src)
+ }
+ })
+}