Skip to content

Commit 1b09feb

Browse files
made dynamic html contain more bytes
1 parent 8a2d04a commit 1b09feb

File tree

3 files changed

+43
-3
lines changed

3 files changed

+43
-3
lines changed

Benchmarks/Benchmarks/SwiftHTMLKit/SwiftHTMLKit.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ package struct SwiftHTMLKitTests : HTMLGenerator {
3232
for quality in context.user.qualities {
3333
qualities += #li("\(quality)")
3434
}
35-
let string:String = #html(
35+
return #html(
3636
#head(
3737
#meta(charset: "\(context.charset)"),
3838
#title("\(context.title)"),
@@ -49,6 +49,5 @@ package struct SwiftHTMLKitTests : HTMLGenerator {
4949
#ul(attributes: [.id(context.user.qualities_id)], "\(qualities)")
5050
)
5151
)
52-
return string
5352
}
5453
}

Benchmarks/Benchmarks/Utilities/Utilities.swift

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ package protocol HTMLGenerator {
1818
// MARK: Simple cache
1919
package actor Cache {
2020
private var values:[String:String]
21+
//private var loading:[String:Task<String, Never>]
2122

2223
init() {
2324
values = Dictionary(minimumCapacity: 20)
25+
//loading = [:]
2426
}
2527

2628
func get(id: String, _ onLoad: () -> String) async -> String {
@@ -59,7 +61,7 @@ package struct HTMLContext {
5961
heading = "Dynamic HTML Benchmark"
6062
desc_id = "desc"
6163
// 5 paragraphs of lorem ipsum
62-
string = """
64+
let lorem_ipsum:String = """
6365
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eget ornare ligula, sit amet pretium justo. Nunc vestibulum sollicitudin sem sed ultricies. Nullam ultrices mattis rutrum. Quisque venenatis lacus non tortor aliquam elementum. Nullam dictum, dolor vel efficitur semper, metus nisi porta elit, in tincidunt nunc eros quis nunc. Aliquam id eros sed leo feugiat aliquet quis eget augue. Praesent molestie quis libero vulputate cursus. Aenean lobortis cursus lacinia. Quisque imperdiet suscipit mi in rutrum. Suspendisse potenti.
6466
6567
In condimentum non turpis non porta. In vehicula rutrum risus eget placerat. Nulla neque quam, dignissim eu luctus at, elementum at nisl. Cras volutpat mi sem, at congue felis pellentesque sed. Sed maximus orci vel enim iaculis condimentum. Integer maximus consectetur arcu quis aliquet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas eget feugiat elit. Maecenas pellentesque, urna at iaculis pretium, diam lectus dapibus est, et fermentum nisl ex vel ligula. Aliquam dignissim dapibus est, nec tincidunt tortor sagittis in. Vestibulum id lacus a nunc auctor ultricies. Praesent ante sapien, ultricies vel lorem id, tempus mollis justo. Curabitur sollicitudin, augue hendrerit suscipit tristique, sem lacus consectetur leo, id eleifend diam tellus sit amet nulla. Etiam metus augue, consequat ut dictum a, aliquet nec neque. Vestibulum gravida vel ligula at interdum. Nam cursus sapien non malesuada lobortis.
@@ -70,6 +72,12 @@ package struct HTMLContext {
7072
7173
Mauris eros quam, dictum id elementum et, pharetra in metus. Quisque fermentum congue risus, accumsan consectetur neque aliquam quis. Vestibulum ipsum massa, euismod faucibus est in, condimentum venenatis risus. Quisque congue vehicula tellus, et dignissim augue accumsan ac. Pellentesque tristique ornare ligula, vitae iaculis dui varius vel. Ut sed sem sed purus facilisis porta quis eu tortor. Donec in vehicula tortor. Sed eget aliquet enim. Mauris tincidunt placerat risus, ut gravida lacus vehicula eget. Curabitur ultrices sapien tortor, eu gravida velit efficitur sed. Suspendisse eu volutpat est, ut bibendum velit. Maecenas mollis sit amet sapien laoreet pulvinar. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi lorem ante, volutpat et accumsan a, fermentum vel metus.
7274
"""
75+
var string:String = ""
76+
for _ in 0..<10 {
77+
string += lorem_ipsum
78+
}
79+
self.string = string
80+
7381
integer = 293785
7482
double = 39848.9348019843
7583
float = 616905.2098238

Sources/HTMLKit/HTMLKit.swift

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,39 @@ public struct DynamicString {
6565
}
6666
}*/
6767

68+
/*
69+
package struct NonCopyableString : ~Copyable {
70+
private let storage:UnsafeMutableBufferPointer<UInt8>
71+
72+
package init(capacity: Int) {
73+
storage = .allocate(capacity: capacity)
74+
}
75+
package init(_ string: String) {
76+
storage = .allocate(capacity: string.count)
77+
for i in 0..<string.count {
78+
storage[i] = string[string.index(string.startIndex, offsetBy: i)].asciiValue!
79+
}
80+
}
81+
82+
package subscript(_ index: Int) -> UInt8 {
83+
get {
84+
storage[index]
85+
}
86+
set {
87+
storage[index] = newValue
88+
}
89+
}
90+
91+
package var count : Int { storage.count }
92+
package var isEmpty : Bool { storage.isEmpty }
93+
package var string : String { String(decoding: storage, as: UTF8.self) }
94+
95+
deinit {
96+
storage.deinitialize()
97+
storage.deallocate()
98+
}
99+
}*/
100+
68101
@freestanding(expression)
69102
public macro escapeHTML<T: ExpressibleByStringLiteral>(_ innerHTML: T...) -> T = #externalMacro(module: "HTMLKitMacros", type: "HTMLElement")
70103

0 commit comments

Comments
 (0)