Files
fasthttp/status_timing_test.go
T
kiyon 2509c12e77 improve statusLine and StatusMessage by using slice instead of map (#855)
* 🚀 improve statusLine and StatusMessage by using slice instead of map

Co-authored-by: Fenny <fenny@gofiber.io>
Co-authored-by: ReneWerner87 <rene@gofiber.io>

* for cli stuff

* make invalidStatusLine() just return the formatted line

* for ci stuff

Co-authored-by: Fenny <fenny@gofiber.io>
Co-authored-by: ReneWerner87 <rene@gofiber.io>
2020-08-02 19:18:57 +02:00

30 lines
706 B
Go

package fasthttp
import (
"bytes"
"testing"
)
func BenchmarkStatusLine99(b *testing.B) {
benchmarkStatusLine(b, 99, []byte("HTTP/1.1 99 Unknown Status Code\r\n"))
}
func BenchmarkStatusLine200(b *testing.B) {
benchmarkStatusLine(b, 200, []byte("HTTP/1.1 200 OK\r\n"))
}
func BenchmarkStatusLine512(b *testing.B) {
benchmarkStatusLine(b, 512, []byte("HTTP/1.1 512 Unknown Status Code\r\n"))
}
func benchmarkStatusLine(b *testing.B, statusCode int, expected []byte) {
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
line := statusLine(statusCode)
if !bytes.Equal(expected, line) {
b.Fatalf("unexpected status line %s. Expecting %s", string(line), string(expected))
}
}
})
}