on master help sign in
Make the ops/sec numbers prettier
d17c31aEvan Czaplicki
bench/src/Benchmark.elm+22−1
@@ -87,7 +87,7 @@ viewHelp : Statistics -> Html
87viewHelp statistics =
87viewHelp statistics =
88 case statistics of
88 case statistics of
89 Result name {hz} ->
89 Result name {hz} ->
90− text (name ++ " - " ++ toString hz ++ " ops/sec")
90+ text (name ++ " - " ++ prettyFloat hz ++ " ops/sec")
91
91
92 StatSuite name subStats ->
92 StatSuite name subStats ->
93 let
93 let
@@ -98,3 +98,24 @@ viewHelp statistics =
98 [ text name
98 [ text name
99 , ul [] (List.map (\html -> li [] [html]) subResults)
99 , ul [] (List.map (\html -> li [] [html]) subResults)
100 ]
100 ]
101+
102+
103+prettyFloat : Float -> String
104+prettyFloat float =
105+ String.join "," (numberChunker (round float) [])
106+
107+
108+numberChunker : Int -> List String -> List String
109+numberChunker n chunks =
110+ let
111+ next =
112+ n // 1000
113+
114+ chunk =
115+ n % 1000
116+ in
117+ if next == 0 then
118+ toString chunk :: chunks
119+
120+ else
121+ numberChunker next (String.padLeft 3 '0' (toString chunk) :: chunks)