@@ -2,7 +2,7 @@ from memory import Span
22from benchmark import *
33from lightbug_http.io.bytes import bytes , Bytes
44from lightbug_http.header import Headers, Header
5- from lightbug_http.utils import ByteReader, ByteWriter
5+ from lightbug_http.io.bytes import ByteReader, ByteWriter
66from lightbug_http.http import HTTPRequest, HTTPResponse, encode
77from lightbug_http.uri import URI
88
@@ -11,9 +11,7 @@ alias headers = "GET /index.html HTTP/1.1\r\nHost: example.com\r\nUser-Agent: Mo
1111alias body = " I am the body of an HTTP request" * 5
1212alias body_bytes = bytes (body)
1313alias Request = " GET /index.html HTTP/1.1\r\n Host: example.com\r\n User-Agent: Mozilla/5.0\r\n Content-Type: text/html\r\n Content-Length: 1234\r\n Connection: close\r\n Trailer: end-of-message\r\n\r\n " + body
14- alias Response = " HTTP/1.1 200 OK\r\n server: lightbug_http\r\n content-type:"
15- " application/octet-stream\r\n connection: keep-alive\r\n content-length:"
16- " 13\r\n date: 2024-06-02T13:41:50.766880+00:00\r\n\r\n " + body
14+ alias Response = " HTTP/1.1 200 OK\r\n server: lightbug_http\r\n content-type: application/octet-stream\r\n connection: keep-alive\r\n content-length: 13\r\n date: 2024-06-02T13:41:50.766880+00:00\r\n\r\n " + body
1715
1816
1917fn main ():
@@ -26,24 +24,12 @@ fn run_benchmark():
2624 config.verbose_timing = True
2725 config.tabular_view = True
2826 var m = Bench(config)
29- m.bench_function[lightbug_benchmark_header_encode](
30- BenchId(" HeaderEncode" )
31- )
32- m.bench_function[lightbug_benchmark_header_parse](
33- BenchId(" HeaderParse" )
34- )
35- m.bench_function[lightbug_benchmark_request_encode](
36- BenchId(" RequestEncode" )
37- )
38- m.bench_function[lightbug_benchmark_request_parse](
39- BenchId(" RequestParse" )
40- )
41- m.bench_function[lightbug_benchmark_response_encode](
42- BenchId(" ResponseEncode" )
43- )
44- m.bench_function[lightbug_benchmark_response_parse](
45- BenchId(" ResponseParse" )
46- )
27+ m.bench_function[lightbug_benchmark_header_encode](BenchId(" HeaderEncode" ))
28+ m.bench_function[lightbug_benchmark_header_parse](BenchId(" HeaderParse" ))
29+ m.bench_function[lightbug_benchmark_request_encode](BenchId(" RequestEncode" ))
30+ m.bench_function[lightbug_benchmark_request_parse](BenchId(" RequestParse" ))
31+ m.bench_function[lightbug_benchmark_response_encode](BenchId(" ResponseEncode" ))
32+ m.bench_function[lightbug_benchmark_response_parse](BenchId(" ResponseParse" ))
4733 m.dump_report()
4834 except :
4935 print (" failed to start benchmark" )
@@ -100,12 +86,15 @@ fn lightbug_benchmark_request_encode(mut b: Bencher):
10086 @always_inline
10187 @parameter
10288 fn request_encode ():
103- var req = HTTPRequest(
104- URI .parse(" http://127.0.0.1:8080/some-path" ),
105- headers = headers_struct,
106- body = body_bytes,
107- )
108- _ = encode(req^ )
89+ try :
90+ var req = HTTPRequest(
91+ URI .parse(" http://127.0.0.1:8080/some-path" ),
92+ headers = headers_struct,
93+ body = body_bytes,
94+ )
95+ _ = encode(req^ )
96+ except e:
97+ print (" request_encode failed" , e)
10998
11099 b.iter[request_encode]()
111100
@@ -130,8 +119,7 @@ fn lightbug_benchmark_header_parse(mut b: Bencher):
130119 var header = Headers()
131120 var reader = ByteReader(headers.as_bytes())
132121 _ = header.parse_raw(reader)
133- except :
134- print (" failed" )
122+ except e :
123+ print (" failed" , e )
135124
136125 b.iter[header_parse]()
137-
0 commit comments