File: bench.hs

package info (click to toggle)
haskell-case-insensitive 1.2.1.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212 kB
  • sloc: haskell: 223; makefile: 3
file content (22 lines) | stat: -rw-r--r-- 609 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}

module Main ( main) where

import           Criterion.Main             ( defaultMain, bench, nf )
import qualified Data.ByteString      as B  ( readFile )
import qualified Data.CaseInsensitive as CI ( mk )
import qualified NoClass              as NC ( mk )

#if !MIN_VERSION_bytestring(0,10,0)
import Control.DeepSeq ( NFData )
instance NFData ByteString
#endif

main :: IO ()
main = do
  bs <- B.readFile "pg2189.txt"
  defaultMain
    [ bench "no-class"         $ nf (\s -> NC.mk s) bs
    , bench "case-insensitive" $ nf (\s -> CI.mk s) bs
    ]