Skip to content

Commit 61d5461

Browse files
committed
TUN-3209: Add benchmark for header serialization
1 parent b696ca8 commit 61d5461

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

h2mux/header_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,3 +650,27 @@ func randSeq(n int) string {
650650
}
651651
return string(b)
652652
}
653+
654+
func BenchmarkH1ResponseToH2ResponseHeaders(b *testing.B) {
655+
ser := "eC1mb3J3YXJkZWQtcHJvdG8:aHR0cHM;dXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cw:MQ;YWNjZXB0LWxhbmd1YWdl:ZW4tVVMsZW47cT0wLjkscnU7cT0wLjg;YWNjZXB0LWVuY29kaW5n:Z3ppcA;eC1mb3J3YXJkZWQtZm9y:MTczLjI0NS42MC42;dXNlci1hZ2VudA:TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTRfNikgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzg0LjAuNDE0Ny44OSBTYWZhcmkvNTM3LjM2;c2VjLWZldGNoLW1vZGU:bmF2aWdhdGU;Y2RuLWxvb3A:Y2xvdWRmbGFyZQ;c2VjLWZldGNoLWRlc3Q:ZG9jdW1lbnQ;c2VjLWZldGNoLXVzZXI:PzE;c2VjLWZldGNoLXNpdGU:bm9uZQ;Y29va2ll:X19jZmR1aWQ9ZGNkOWZjOGNjNWMxMzE0NTMyYTFkMjhlZDEyOWRhOTYwMTU2OTk1MTYzNDsgX19jZl9ibT1mYzY2MzMzYzAzZmM0MWFiZTZmOWEyYzI2ZDUwOTA0YzIxYzZhMTQ2LTE1OTU2MjIzNDEtMTgwMC1BZTVzS2pIU2NiWGVFM05mMUhrTlNQMG1tMHBLc2pQWkloVnM1Z2g1SkNHQkFhS1UxVDB2b003alBGN3FjMHVSR2NjZGcrWHdhL1EzbTJhQzdDVU4xZ2M9;YWNjZXB0:dGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksaW1hZ2Uvd2VicCxpbWFnZS9hcG5nLCovKjtxPTAuOCxhcHBsaWNhdGlvbi9zaWduZWQtZXhjaGFuZ2U7dj1iMztxPTAuOQ"
656+
h2, _ := DeserializeHeaders(ser)
657+
h1 := make(http.Header)
658+
for _, header := range h2 {
659+
h1.Add(header.Name, header.Value)
660+
}
661+
h1.Add("Content-Length", "200")
662+
h1.Add("Cf-Something", "Else")
663+
h1.Add("Upgrade", "websocket")
664+
665+
h1resp := &http.Response{
666+
StatusCode: 200,
667+
Header: h1,
668+
}
669+
670+
b.ReportAllocs()
671+
b.ResetTimer()
672+
for i := 0; i < b.N; i++ {
673+
_ = H1ResponseToH2ResponseHeaders(h1resp)
674+
}
675+
}
676+

0 commit comments

Comments
 (0)