on master help sign in
Case mapping benchmark
8fa25cbBryan O'Sullivan
tests/benchmarks/CaseMap.hsnew file+21
@@ -0,0 +1,21 @@
1+import Control.Exception
2+import Control.Monad
3+import Data.Time.Clock
4+import Data.ByteString as B
5+import Data.Text.Encoding as T
6+import Data.Text as T
7+import System.Environment
8+
9+time act = do
10+ start <- getCurrentTime
11+ act
12+ end <- getCurrentTime
13+ let d = diffUTCTime end start
14+ print d
15+
16+main = do
17+ args <- getArgs
18+ forM_ args $ \f -> do
19+ t <- T.decodeUtf8 `fmap` B.readFile f
20+ evaluate t
21+ time $ evaluate (T.toUpper t)
tests/benchmarks/casemap.pynew file+15
@@ -0,0 +1,15 @@
1+#!/usr/bin/env python
2+
3+import sys, time
4+
5+def timeit(f):
6+ start = time.time()
7+ f()
8+ end = time.time()
9+ print end - start
10+
11+for f in sys.argv[1:]:
12+ s = open(f).read()
13+ u = s.decode('utf8')
14+ timeit(lambda: s.upper())
15+ timeit(lambda: u.upper())