Skip to content

Commit 92b4448

Browse files
committed
add results
1 parent d3d5893 commit 92b4448

File tree

2 files changed

+174
-1
lines changed

2 files changed

+174
-1
lines changed
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Lightning JS Framework benchmark</title>
8+
<style>
9+
body {
10+
font-family: Arial, sans-serif;
11+
margin: 0;
12+
padding: 0;
13+
}
14+
table {
15+
width: 100%;
16+
border-collapse: collapse;
17+
}
18+
th, td {
19+
border: 1px solid #ddd;
20+
padding: 8px;
21+
text-align: left;
22+
}
23+
th {
24+
background-color: #f2f2f2;
25+
}
26+
h2 {
27+
margin: 0;
28+
}
29+
p {
30+
margin: 0;
31+
}
32+
div {
33+
padding: 10px;
34+
}
35+
span {
36+
font-weight: bold;
37+
}
38+
</style>
39+
</head>
40+
<body><div>
41+
<h2>Results for Lightning JS Framework benchmark</h2>
42+
<p>The benchmark was run on <span>darwin 24.5.0 arm64</span> on a <span>Apple M3 Max 14 and 36.00 GB memory</span></p>
43+
<p>Tests where executed on browser version: <span id="browserVersion">Chromium 128.0.6613.18</span> using PlayWright</p>
44+
</div><div>
45+
<h2>Results</h2>
46+
<p>Tests are run by executing an operation and waiting for the WebGL rennder to be Idle</p>
47+
<p>Results are the time in milliseconds to execute the operation</p>
48+
<p>All operations are executed on 6x CPU slowdown</p>
49+
</div><table>
50+
<thead>
51+
<tr>
52+
<th>
53+
<b>Name</b>
54+
<br>
55+
Duration for...
56+
</th>
57+
<th>renderer 2.14.3</th><th>renderer-beta 3.0.0-beta9</th><th>blits 1.31.0</th><th>solid 2.8.1</th><th>renderer-beta-canvasfonts 3.0.0-beta9</th><th>lightning2-core 2.14.0</th><th>renderer-canvasfonts 2.14.3</th><th>lightning2 2.14.0</th>
58+
</tr>
59+
60+
</thead>
61+
<tbody>
62+
<tr>
63+
<th>
64+
<b>create rows</b>
65+
<div>creating 1,000 nodes. (5 warmup runs)</div>
66+
</th>
67+
<td style="background-color: rgb(101, 192, 124); color: rgb(0, 0, 0);">54.82ms ±29.10 (1.01)</td><td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">53.68ms ±23.30 (1.00)</td><td style="background-color: rgb(139, 203, 126); color: rgb(0, 0, 0);">76.62ms ±29.40 (1.26)</td><td style="background-color: rgb(148, 205, 127); color: rgb(0, 0, 0);">82.22ms ±20.40 (1.31)</td><td style="background-color: rgb(251, 151, 117); color: rgb(0, 0, 0);">345.34ms ±35.90 (3.29)</td><td style="background-color: rgb(253, 192, 124); color: rgb(0, 0, 0);">248.76ms ±114.40 (2.67)</td><td style="background-color: rgb(249, 105, 108); color: rgb(0, 0, 0);">845.40ms ±177.40 (5.84)</td><td style="background-color: rgb(249, 105, 108); color: rgb(0, 0, 0);">502.58ms ±183.20 (4.18)</td>
68+
</tr>
69+
<tr>
70+
<th>
71+
<b>replace all rows</b>
72+
<div>updating all 1,000 nodes. (5 warmup runs)</div>
73+
</th>
74+
<td style="background-color: rgb(105, 193, 124); color: rgb(0, 0, 0);">33.80ms ±10.40 (1.04)</td><td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">31.76ms ±7.70 (1.00)</td><td style="background-color: rgb(148, 205, 127); color: rgb(0, 0, 0);">51.74ms ±9.00 (1.31)</td><td style="background-color: rgb(242, 232, 131); color: rgb(0, 0, 0);">101.30ms ±43.70 (1.91)</td><td style="background-color: rgb(251, 149, 116); color: rgb(0, 0, 0);">271.62ms ±59.60 (3.33)</td><td style="background-color: rgb(249, 105, 108); color: rgb(0, 0, 0);">858.54ms ±180.70 (6.34)</td><td style="background-color: rgb(249, 105, 108); color: rgb(0, 0, 0);">838.86ms ±275.50 (6.25)</td><td style="background-color: rgb(249, 105, 108); color: rgb(0, 0, 0);">865.02ms ±235.40 (6.36)</td>
75+
</tr>
76+
<tr>
77+
<th>
78+
<b>partial update rows</b>
79+
<div>updating every 10th node for 1,000 nodes. (5 warmup runs)</div>
80+
</th>
81+
<td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">24.78ms ±4.50 (1.00)</td><td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">24.66ms ±2.20 (1.00)</td><td style="background-color: rgb(105, 193, 124); color: rgb(0, 0, 0);">26.48ms ±2.90 (1.04)</td><td style="background-color: rgb(255, 226, 130); color: rgb(0, 0, 0);">96.96ms ±33.70 (2.15)</td><td style="background-color: rgb(147, 205, 126); color: rgb(0, 0, 0);">39.90ms ±7.20 (1.31)</td><td style="background-color: rgb(250, 127, 112); color: rgb(0, 0, 0);">250.58ms ±11.30 (3.66)</td><td style="background-color: rgb(254, 203, 126); color: rgb(0, 0, 0);">126.40ms ±230.70 (2.50)</td><td style="background-color: rgb(250, 127, 112); color: rgb(0, 0, 0);">250.88ms ±24.00 (3.67)</td>
82+
</tr>
83+
<tr>
84+
<th>
85+
<b>select row</b>
86+
<div>selecting a node at random. (5 warmup runs)</div>
87+
</th>
88+
<td style="background-color: rgb(101, 192, 124); color: rgb(0, 0, 0);">30.28ms ±15.90 (1.01)</td><td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">28.54ms ±9.00 (1.00)</td><td style="background-color: rgb(101, 192, 124); color: rgb(0, 0, 0);">30.70ms ±14.60 (1.01)</td><td style="background-color: rgb(141, 203, 126); color: rgb(0, 0, 0);">98.82ms ±45.70 (1.27)</td><td style="background-color: rgb(108, 194, 124); color: rgb(0, 0, 0);">38.68ms ±13.10 (1.06)</td><td style="background-color: rgb(170, 212, 128); color: rgb(0, 0, 0);">207.72ms ±11.80 (1.46)</td><td style="background-color: rgb(116, 196, 125); color: rgb(0, 0, 0);">49.66ms ±25.20 (1.11)</td><td style="background-color: rgb(172, 212, 128); color: rgb(0, 0, 0);">212.88ms ±15.90 (1.46)</td>
89+
</tr>
90+
<tr>
91+
<th>
92+
<b>swap rows</b>
93+
<div>swapping 2 nodes. (5 warmup runs)</div>
94+
</th>
95+
<td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">27.16ms ±13.70 (1.00)</td><td style="background-color: rgb(100, 191, 124); color: rgb(0, 0, 0);">27.88ms ±11.60 (1.00)</td><td style="background-color: rgb(106, 193, 124); color: rgb(0, 0, 0);">37.76ms ±9.80 (1.04)</td><td style="background-color: rgb(128, 199, 125); color: rgb(0, 0, 0);">99.86ms ±53.50 (1.18)</td><td style="background-color: rgb(100, 191, 124); color: rgb(0, 0, 0);">29.04ms ±20.40 (1.01)</td><td style="background-color: rgb(146, 204, 126); color: rgb(0, 0, 0);">204.18ms ±6.40 (1.30)</td><td style="background-color: rgb(103, 192, 124); color: rgb(0, 0, 0);">32.24ms ±26.30 (1.02)</td><td style="background-color: rgb(146, 204, 126); color: rgb(0, 0, 0);">203.72ms ±5.40 (1.30)</td>
96+
</tr>
97+
<tr>
98+
<th>
99+
<b>remove row</b>
100+
<div>removing a node. (5 warmup runs)</div>
101+
</th>
102+
<td style="background-color: rgb(102, 192, 124); color: rgb(0, 0, 0);">23.96ms ±3.90 (1.02)</td><td style="background-color: rgb(110, 194, 125); color: rgb(0, 0, 0);">26.28ms ±3.80 (1.07)</td><td style="background-color: rgb(112, 195, 125); color: rgb(0, 0, 0);">26.84ms ±2.60 (1.08)</td><td style="background-color: rgb(111, 194, 125); color: rgb(0, 0, 0);">26.58ms ±3.50 (1.08)</td><td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">23.14ms ±3.00 (1.00)</td><td style="background-color: rgb(251, 159, 118); color: rgb(0, 0, 0);">204.54ms ±6.50 (3.17)</td><td style="background-color: rgb(117, 196, 125); color: rgb(0, 0, 0);">28.34ms ±2.50 (1.11)</td><td style="background-color: rgb(251, 159, 118); color: rgb(0, 0, 0);">205.18ms ±6.80 (3.18)</td>
103+
</tr>
104+
<tr>
105+
<th>
106+
<b>create many rows</b>
107+
<div>creating 10,000 nodes. (5 warmup runs)</div>
108+
</th>
109+
<td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">266.20ms ±30.70 (1.00)</td><td style="background-color: rgb(102, 192, 124); color: rgb(0, 0, 0);">275.30ms ±26.50 (1.02)</td><td style="background-color: rgb(160, 209, 127); color: rgb(0, 0, 0);">480.28ms ±88.90 (1.39)</td><td style="background-color: rgb(169, 211, 128); color: rgb(0, 0, 0);">517.74ms ±37.30 (1.45)</td><td style="background-color: rgb(254, 207, 127); color: rgb(0, 0, 0);">1315.50ms ±47.60 (2.45)</td><td style="background-color: rgb(130, 200, 126); color: rgb(0, 0, 0);">369.42ms ±11.20 (1.20)</td><td style="background-color: rgb(252, 169, 120); color: rgb(0, 0, 0);">1918.08ms ±273.30 (3.02)</td><td style="background-color: rgb(250, 128, 112); color: rgb(0, 0, 0);">2685.76ms ±110.50 (3.65)</td>
110+
</tr>
111+
<tr>
112+
<th>
113+
<b>append rows</b>
114+
<div>appending 1,000 nodes to 1,000 nodes. (5 warmup runs)</div>
115+
</th>
116+
<td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">283.14ms ±50.90 (1.00)</td><td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">282.74ms ±28.80 (1.00)</td><td style="background-color: rgb(162, 209, 127); color: rgb(0, 0, 0);">524.88ms ±93.20 (1.41)</td><td style="background-color: rgb(164, 210, 127); color: rgb(0, 0, 0);">534.70ms ±48.00 (1.42)</td><td style="background-color: rgb(254, 210, 127); color: rgb(0, 0, 0);">1391.84ms ±63.10 (2.40)</td><td style="background-color: rgb(100, 191, 124); color: rgb(0, 0, 0);">287.70ms ±21.60 (1.01)</td><td style="background-color: rgb(252, 180, 122); color: rgb(0, 0, 0);">1898.04ms ±74.50 (2.85)</td><td style="background-color: rgb(251, 139, 114); color: rgb(0, 0, 0);">2720.20ms ±21.20 (3.47)</td>
117+
</tr>
118+
<tr>
119+
<th>
120+
<b>clear rows</b>
121+
<div>removing all nodes. (5 warmup runs)</div>
122+
</th>
123+
<td style="background-color: rgb(99, 191, 124); color: rgb(0, 0, 0);">14.70ms ±2.80 (1.00)</td><td style="background-color: rgb(101, 192, 124); color: rgb(0, 0, 0);">15.16ms ±5.70 (1.01)</td><td style="background-color: rgb(113, 195, 125); color: rgb(0, 0, 0);">18.10ms ±7.10 (1.09)</td><td style="background-color: rgb(107, 193, 124); color: rgb(0, 0, 0);">16.48ms ±3.70 (1.05)</td><td style="background-color: rgb(102, 192, 124); color: rgb(0, 0, 0);">15.44ms ±3.50 (1.02)</td><td style="background-color: rgb(254, 207, 127); color: rgb(0, 0, 0);">123.28ms ±195.40 (2.44)</td><td style="background-color: rgb(124, 198, 125); color: rgb(0, 0, 0);">21.06ms ±4.20 (1.16)</td><td style="background-color: rgb(255, 226, 130); color: rgb(0, 0, 0);">91.24ms ±111.80 (2.15)</td>
124+
</tr>
125+
<tr>
126+
<th>
127+
<b>Overall</b>
128+
<div>Average mean of all tests</div>
129+
</th>
130+
<td>1.01</td><td>1.01</td><td>1.18</td><td>1.42</td><td>1.87</td><td>2.58</td><td>2.76</td><td>3.27</td>
131+
</tr>
132+
</tbody>
133+
<thead>
134+
<tr>
135+
<th>
136+
<b>Name</b>
137+
<br>
138+
Memory for...
139+
</th>
140+
<th>renderer 2.14.3</th><th>renderer-beta 3.0.0-beta9</th><th>blits 1.31.0</th><th>solid 2.8.1</th><th>renderer-beta-canvasfonts 3.0.0-beta9</th><th>lightning2-core 2.14.0</th><th>renderer-canvasfonts 2.14.3</th><th>lightning2 2.14.0</th>
141+
</tr>
142+
</thead>
143+
<tbody>
144+
<tr>
145+
<th>
146+
<b>create 20k nodes</b>
147+
<div>creating 20k nodes.</div>
148+
</th>
149+
<td>31.30MB (created in 388.40ms)</td><td>25.50MB (created in 470.80ms)</td><td>38.32MB (created in 284.70ms)</td><td>46.45MB (created in 363.70ms)</td><td>29.71MB (created in 469.70ms)</td><td>Failed</td><td>29.26MB (created in 379.00ms)</td><td>Failed</td>
150+
</tr>
151+
</tbody>
152+
<thead>
153+
<tr>
154+
<th>
155+
<b>Name</b>
156+
<br>
157+
File size for...
158+
</th>
159+
<th>renderer 2.14.3</th><th>renderer-beta 3.0.0-beta9</th><th>blits 1.31.0</th><th>solid 2.8.1</th><th>renderer-beta-canvasfonts 3.0.0-beta9</th><th>lightning2-core 2.14.0</th><th>renderer-canvasfonts 2.14.3</th><th>lightning2 2.14.0</th>
160+
</tr>
161+
</thead>
162+
<tbody>
163+
<tr>
164+
<th>
165+
<b>bundle size</b>
166+
<div>JavaScript size of the framework</div>
167+
</th>
168+
<td>163.09 KB</td><td>135.15 KB</td><td>284.42 KB</td><td>227.48 KB</td><td>131.91 KB</td><td>330.01 KB</td><td>145.95 KB</td><td>330.01 KB</td>
169+
</tr>
170+
</tbody>
171+
</table></body>
172+
</html>

official_results/results.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
"20241007 Blits 1.5.1 Renderer 2.3.0 Chromium 128.0.6613.18": "20241007_results_Chromium 128.0.6613.18_darwin_23.6.0_arm64.html",
88
"20241022 Blits 1.8.0 Renderer 2.4.0 Chromium 128.0.6613.18": "20241022_results_Chromium 128.0.6613.18_darwin_23.6.0_arm64.html",
99
"20250112 Blits 1.14.1 Renderer 2.8.0 Chromium 128.0.6613.18": "20250112_results_Chromium 128.0.6613.18_darwin_23.6.0_arm64.html",
10-
"20250227 Blits 1.21.0 Renderer 2.13.0 Chromium 128.0.6613.18": "20250227_results_Chromium 128.0.6613.18_darwin_23.6.0_arm64.html"
10+
"20250227 Blits 1.21.0 Renderer 2.13.0 Chromium 128.0.6613.18": "20250227_results_Chromium 128.0.6613.18_darwin_23.6.0_arm64.html",
11+
"20250627 Blits 1.31.0 Renderer 2.14.3 Chromium 128.0.6613.18": "20250627_results_Chromium 128.0.6613.18_darwin_24.5.0_arm64.html"
1112
}

0 commit comments

Comments
 (0)