perf: replace string concatenation with list join and add normalized headers map in html, http, jinja, json, markdown modules

Optimize string building in decodeUtf8_, slugify, parseRaw_, processCode_, and processBold_ by accumulating parts in a list and joining once, avoiding repeated string allocation. In HttpResponse constructor, precompute a normalized headers map for O(1) case-insensitive header lookups instead of linear scan. Simplify Json.stringify indent generation using string repetition operator.
This commit is contained in:
2026-01-26 09:59:07 +00:00
parent d9ec21a70d
commit 62b60cce36
26 changed files with 663 additions and 394 deletions
+11
View File
@@ -0,0 +1,11 @@
// retoor <retoor@molodetz.nl>
import "http" for HttpResponse
var headers = {}
for (i in 0...100) {
headers["Header-%(i)"] = "value%(i)"
}
var resp = HttpResponse.new_(200, "OK", headers, "")
System.print(resp.header("header-50")) // expect: value50
System.print(resp.header("HEADER-99")) // expect: value99