@@ -0,0 +1,371 @@
1+module ManyElements exposing
33+import Benchmark.Render
34+import Element exposing (..)
35+import Element.Background as Background
36+import Element.Font as Font
38+import Html.Attributes
42+{- START BENCHMARKS -}
45+elmUI24 : Benchmark.Render.Benchmark Model Msg
50+elmUI64 : Benchmark.Render.Benchmark Model Msg
55+elmUI128 : Benchmark.Render.Benchmark Model Msg
60+elmUI256 : Benchmark.Render.Benchmark Model Msg
65+elmUI512 : Benchmark.Render.Benchmark Model Msg
70+elmUI1024 : Benchmark.Render.Benchmark Model Msg
72+ elmUI "elmUI1024" 1024
75+elmUI2048 : Benchmark.Render.Benchmark Model Msg
77+ elmUI "elmUI2048" 2048
80+elmUI4096 : Benchmark.Render.Benchmark Model Msg
82+ elmUI "elmUI4096" 4096
85+elmUI8192 : Benchmark.Render.Benchmark Model Msg
87+ elmUI "elmUI8192" 8192
94+viewHtml24 : Benchmark.Render.Benchmark Model Msg
96+ viewHtml "viewHtml24" 24
99+viewHtml64 : Benchmark.Render.Benchmark Model Msg
101+ viewHtml "viewHtml64" 64
104+viewHtml128 : Benchmark.Render.Benchmark Model Msg
106+ viewHtml "viewHtml128" 128
109+viewHtml256 : Benchmark.Render.Benchmark Model Msg
111+ viewHtml "viewHtml256" 256
114+viewHtml512 : Benchmark.Render.Benchmark Model Msg
116+ viewHtml "viewHtml512" 512
119+viewHtml1024 : Benchmark.Render.Benchmark Model Msg
121+ viewHtml "viewHtml1024" 1024
124+viewHtml2048 : Benchmark.Render.Benchmark Model Msg
126+ viewHtml "viewHtml2048" 2048
129+viewHtml4096 : Benchmark.Render.Benchmark Model Msg
131+ viewHtml "viewHtml4096" 4096
134+viewHtml8192 : Benchmark.Render.Benchmark Model Msg
136+ viewHtml "viewHtml8192" 8192
143+viewInline24 : Benchmark.Render.Benchmark Model Msg
145+ viewInline "viewInline24" 24
148+viewInline64 : Benchmark.Render.Benchmark Model Msg
150+ viewInline "viewInline64" 64
153+viewInline128 : Benchmark.Render.Benchmark Model Msg
155+ viewInline "viewInline128" 128
158+viewInline256 : Benchmark.Render.Benchmark Model Msg
160+ viewInline "viewInline256" 256
163+viewInline512 : Benchmark.Render.Benchmark Model Msg
165+ viewInline "viewInline512" 512
168+viewInline1024 : Benchmark.Render.Benchmark Model Msg
170+ viewInline "viewInline1024" 1024
173+viewInline2048 : Benchmark.Render.Benchmark Model Msg
175+ viewInline "viewInline2048" 2048
178+viewInline4096 : Benchmark.Render.Benchmark Model Msg
180+ viewInline "viewInline4096" 4096
183+viewInline8192 : Benchmark.Render.Benchmark Model Msg
185+ viewInline "viewInline8192" 8192
194+ , numberOfElements : Int
195+ , elements : List Int
205+elmUI : String -> Int -> Benchmark.Render.Benchmark Model Msg
210+ , numberOfElements = count
211+ , elements = List.range 0 (count - 1)
219+ if model.index > model.numberOfElements then
220+ { model | index = 0 }
223+ { model | index = model.index + 1 }
226+ if model.index > model.numberOfElements then
227+ { model | index = 0 }
230+ { model | index = model.index + 1 }
238+ (Element.column [ spacing 8, centerX ]
239+ (List.map (viewEl model.index) model.elements)
243+viewEl selectedIndex index =
246+ (if selectedIndex == index then
253+ (if selectedIndex /= index then
273+viewHtml : String -> Int -> Benchmark.Render.Benchmark Model Msg
274+viewHtml name count =
278+ , numberOfElements = count
279+ , elements = List.range 0 (count - 1)
285+ (List.map (viewHtmlElement model.index) model.elements)
291+ if model.index > model.numberOfElements then
292+ { model | index = 0 }
295+ { model | index = model.index + 1 }
298+ if model.index > model.numberOfElements then
299+ { model | index = 0 }
302+ { model | index = model.index + 1 }
308+viewHtmlElement selectedIndex index =
310+ [ Html.Attributes.class
311+ (if selectedIndex == index then
318+ [ Html.text "Hello!" ]
322+viewInline : String -> Int -> Benchmark.Render.Benchmark Model Msg
323+viewInline name count =
327+ , numberOfElements = count
328+ , elements = List.range 0 (count - 1)
334+ (List.map (viewInlineHtmlElement model.index) model.elements)
340+ if model.index > model.numberOfElements then
341+ { model | index = 0 }
344+ { model | index = model.index + 1 }
347+ if model.index > model.numberOfElements then
348+ { model | index = 0 }
351+ { model | index = model.index + 1 }
357+viewInlineHtmlElement selectedIndex index =
359+ (if selectedIndex == index then
360+ [ Html.Attributes.style "background-color" "rgb(240, 0, 245)"
361+ , Html.Attributes.style "color" "white"
362+ , Html.Attributes.style "padding" "24"
366+ [ Html.Attributes.style "background-color" "white"
367+ , Html.Attributes.style "color" "rgb(240, 0, 245)"
368+ , Html.Attributes.style "padding" "24"
371+ [ Html.text "Hello!" ]