Commits

Bryan O'Sullivan committed 9b1fc0c

Benchmark some bigger numbers

Comments (0)

Files changed (1)

benchmarks/haskell/Benchmarks/Builder.hs

 import qualified Data.Text.Lazy as LT
 import qualified Data.Text.Lazy.Builder as LTB
 import qualified Data.Text.Lazy.Builder.Int as Int
+import Data.Int (Int64)
 
 benchmark :: IO Benchmark
 benchmark = return $ bgroup "Builder"
       [ bgroup "Decimal"
         [ bgroup "Positive" .
           flip map numbers $ \n ->
-          (bench (show n) $ nf (LTB.toLazyText . Int.decimal) n)
+          (bench (show (length (show n))) $ nf (LTB.toLazyText . Int.decimal) n)
         , bgroup "Negative" .
           flip map numbers $ \m ->
           let n = negate m in
-          (bench (show n) $ nf (LTB.toLazyText . Int.decimal) n)
+          (bench (show (length (show n))) $ nf (LTB.toLazyText . Int.decimal) n)
         ]
       ]
     ]
   where
-    numbers = [6,1,14,93,500,415,9688,2865,10654,30214,795659,829056,6207351,
-               5608880,33929478,96076286,370106126,731223504] :: [Int]
+    numbers :: [Int64]
+    numbers = [
+      6, 14, 500, 9688, 10654, 620735, 5608880, 37010612,
+      731223504, 5061580596, 24596952933, 711732309084, 2845910093839,
+      54601756118340, 735159434806159, 3619097625502435, 95777227510267124,
+      414944309510675693, 8986407456998704019
+     ]
 
 texts :: [T.Text]
 texts = take 200000 $ cycle ["foo", "λx", "由の"]
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.