Commits

Bryan O'Sullivan committed 5406dea

Case mapping benchmark

Comments (0)

Files changed (2)

tests/benchmarks/CaseMap.hs

+import Control.Exception
+import Control.Monad
+import Data.Time.Clock
+import Data.ByteString as B
+import Data.Text.Encoding as T
+import Data.Text as T
+import System.Environment
+
+time act = do
+  start <- getCurrentTime
+  act
+  end <- getCurrentTime
+  let d = diffUTCTime end start
+  print d
+
+main = do
+  args <- getArgs
+  forM_ args $ \f -> do
+      t <- T.decodeUtf8 `fmap` B.readFile f
+      evaluate t
+      time $ evaluate (T.toUpper t)

tests/benchmarks/casemap.py

+#!/usr/bin/env python
+
+import sys, time
+
+def timeit(f):
+    start = time.time()
+    f()
+    end = time.time()
+    print end - start
+
+for f in sys.argv[1:]:
+    s = open(f).read()
+    u = s.decode('utf8')
+    timeit(lambda: s.upper())
+    timeit(lambda: u.upper())