git.iko.soy/typeable/elm-ui
on master help sign in
better formatting for results benchmarks
commitba4158eb1329c1cbd2fdc8eba67aaacb7c0e5b80 authorMatthew Griffith <mdg.griffith@gmail.com> dateSat 13 Jul 2019, 17:03 (7 years ago) parent9b06ebb
2 files changed+25−29
benchmarks/runtime/index.js+9−19 benchmarks/src/View/Results.elm+16−10
benchmarks/runtime/index.js+9−19
@@ -1,5 +1,6 @@
11const puppeteer = require('puppeteer');
22const benchPage = require('./benchPage');
3+const chalk = require('chalk');
34var compileToString = require("node-elm-compiler").compileToString;
45const fs = require('fs');
56
@@ -98,42 +99,26 @@ async function writeResults(allResults, resultsDir, name) {
9899
99100
100101 var instances = [
101− { module: "Baseline", group: null, value: "bench" }
102− , { module: "ManyElements", group: "elmUI", count: 1024, value: "elmUI1024" }
103− // , { module: "ManyElements", group: "elmUI", count: 128, value: "elmUI128" }
102+ { module: "ManyElements", group: "elmUI", count: 1024, value: "elmUI1024" }
103+ , { module: "ManyElements", group: "elmUI", count: 128, value: "elmUI128" }
104104 , { module: "ManyElements", group: "elmUI", count: 2048, value: "elmUI2048" }
105105 , { module: "ManyElements", group: "elmUI", count: 24, value: "elmUI24" }
106− // , { module: "ManyElements", group: "elmUI", count: 256, value: "elmUI256" }
107106 , { module: "ManyElements", group: "elmUI", count: 4096, value: "elmUI4096" }
108− // , { module: "ManyElements", group: "elmUI", count: 512, value: "elmUI512" }
109− // , { module: "ManyElements", group: "elmUI", count: 64, value: "elmUI64" }
110107 , { module: "ManyElements", group: "elmUI", count: 8192, value: "elmUI8192" }
111108 , { module: "ManyElements", group: "elmUIVCSS", count: 1024, value: "elmUIVCSS1024" }
112− // , { module: "ManyElements", group: "elmUIVCSS", count: 128, value: "elmUIVCSS128" }
113109 , { module: "ManyElements", group: "elmUIVCSS", count: 2048, value: "elmUIVCSS2048" }
114110 , { module: "ManyElements", group: "elmUIVCSS", count: 24, value: "elmUIVCSS24" }
115− // , { module: "ManyElements", group: "elmUIVCSS", count: 256, value: "elmUIVCSS256" }
116111 , { module: "ManyElements", group: "elmUIVCSS", count: 4096, value: "elmUIVCSS4096" }
117− // , { module: "ManyElements", group: "elmUIVCSS", count: 512, value: "elmUIVCSS512" }
118− // , { module: "ManyElements", group: "elmUIVCSS", count: 64, value: "elmUIVCSS64" }
119112 , { module: "ManyElements", group: "elmUIVCSS", count: 8192, value: "elmUIVCSS8192" }
120113 , { module: "ManyElements", group: "viewHtml", count: 1024, value: "viewHtml1024" }
121− // , { module: "ManyElements", group: "viewHtml", count: 128, value: "viewHtml128" }
122114 , { module: "ManyElements", group: "viewHtml", count: 2048, value: "viewHtml2048" }
123115 , { module: "ManyElements", group: "viewHtml", count: 24, value: "viewHtml24" }
124− // , { module: "ManyElements", group: "viewHtml", count: 256, value: "viewHtml256" }
125116 , { module: "ManyElements", group: "viewHtml", count: 4096, value: "viewHtml4096" }
126− // , { module: "ManyElements", group: "viewHtml", count: 512, value: "viewHtml512" }
127− // , { module: "ManyElements", group: "viewHtml", count: 64, value: "viewHtml64" }
128117 , { module: "ManyElements", group: "viewHtml", count: 8192, value: "viewHtml8192" }
129118 , { module: "ManyElements", group: "viewInline", count: 1024, value: "viewInline1024" }
130− // , { module: "ManyElements", group: "viewInline", count: 128, value: "viewInline128" }
131119 , { module: "ManyElements", group: "viewInline", count: 2048, value: "viewInline2048" }
132120 , { module: "ManyElements", group: "viewInline", count: 24, value: "viewInline24" }
133− // , { module: "ManyElements", group: "viewInline", count: 256, value: "viewInline256" }
134121 , { module: "ManyElements", group: "viewInline", count: 4096, value: "viewInline4096" }
135− // , { module: "ManyElements", group: "viewInline", count: 512, value: "viewInline512" }
136− // , { module: "ManyElements", group: "viewInline", count: 64, value: "viewInline64" }
137122 , { module: "ManyElements", group: "viewInline", count: 8192, value: "viewInline8192" }
138123 ]
139124
@@ -156,6 +141,7 @@ async function writeResults(allResults, resultsDir, name) {
156141 fs.mkdirSync(`./${resultsDir}/${resultName}/instances/`, { recursive: true });
157142 }
158143
144+ console.log(`Beginning benchmark for ${resultName} →`)
159145
160146 for (var i = 0; i < instances.length; i++) {
161147 var item = instances[i]
@@ -174,7 +160,8 @@ async function writeResults(allResults, resultsDir, name) {
174160 results.group = item.group
175161 results.count = item.count
176162 await page.close()
177− console.log(results)
163+ // console.log(results)
164+ console.log(" Benchmark of " + chalk.green(`${item.module}.${item.value}`) + " complete")
178165 allResults.push(results)
179166 }
180167 await browser.close();
@@ -182,5 +169,8 @@ async function writeResults(allResults, resultsDir, name) {
182169 allResults = regroupResults(allResults)
183170
184171 writeResults(allResults, resultsDir, resultName)
172+ console.log()
173+ console.log("Benchmark complete")
174+ console.log(" → " + chalk.green(`${resultsDir}/${resultName}/index.html`))
185175
186176})();
benchmarks/src/View/Results.elm+16−10
@@ -52,11 +52,13 @@ main =
5252 , body =
5353 [ Html.div
5454 [ class "container" ]
55− [ row
56− (List.map viewLinks model.data)
55+ [ column
56+ [ Html.h2 [] [ Html.text "Benchmarked Pages" ]
57+ , row (List.map viewLinks model.data)
58+ ]
5759 , row
58− [ viewNodes model.data
59− , viewFps model.data
60+ [ -- viewNodes model.data
61+ viewFps model.data
6062 , viewTimeToPaint model.data
6163 ]
6264 , row
@@ -68,7 +70,7 @@ main =
6870 , getCount = .count
6971 , name = data.name
7072 , flavor = "Cold render"
71− , range = (0, 1.2)
73+ , range = ( 0, 1.2 )
7274 }
7375 (List.sortBy .count data.results)
7476 )
@@ -82,7 +84,7 @@ main =
8284 , getCount = .count
8385 , name = data.name
8486 , flavor = "Warm render"
85− , range = (0, 1.2)
87+ , range = ( 0, 1.2 )
8688 }
8789 (List.sortBy .count data.results)
8890 )
@@ -96,7 +98,7 @@ main =
9698 , getCount = .count
9799 , name = data.name
98100 , flavor = "Long Animation"
99− , range = (0, 5)
101+ , range = ( 0, 5 )
100102 }
101103 (List.sortBy .count data.results)
102104 )
@@ -129,7 +131,7 @@ update msg model =
129131
130132viewLinks data =
131133 column
132− (Html.h2 [] [ Html.text data.name ]
134+ (Html.h1 [] [ Html.text data.name ]
133135 :: (data.results
134136 |> List.sortBy .link
135137 |> List.map viewSingleLink
@@ -138,7 +140,11 @@ viewLinks data =
138140
139141
140142viewSingleLink result =
141− Html.a [ Attr.href result.link ] [ Html.text result.name ]
143+ Html.a
144+ [ Attr.href result.link
145+ , Html.style "padding-right" "30px"
146+ ]
147+ [ Html.text result.name ]
142148
143149
144150
@@ -300,7 +306,7 @@ viewRenderBreakdown :
300306 , getCount : Render -> Float
301307 , name : String
302308 , flavor : String
303− , range : (Float, Float)
309+ , range : ( Float, Float )
304310 }
305311 -> List Render
306312 -> Html.Html msg