unicode-data-0.6.0: bench/Unicode/Char/General/CompatBench.hs
module Unicode.Char.General.CompatBench
( benchmarks
) where
import Test.Tasty.Bench ( Benchmark )
import qualified Data.Char as Char
import Unicode.Char.Bench (
Bench (..),
CharRange,
bgroupWithCharRange,
bgroupWithChars,
)
import qualified Unicode.Char.General.Compat as GC
{-# NOINLINE benchmarks #-}
benchmarks :: CharRange -> Benchmark
benchmarks r = bgroupWithCharRange "Unicode.Char.General.Compat" r $ \chars ->
[ bgroupWithChars "isAlpha" chars
[ Bench "base" Char.isAlpha
, Bench "unicode-data" GC.isAlpha
]
, bgroupWithChars "isAlphaNum" chars
[ Bench "base" Char.isAlphaNum
, Bench "unicode-data" GC.isAlphaNum
]
, bgroupWithChars "isLetter" chars
[ Bench "base" Char.isLetter
, Bench "unicode-data" GC.isLetter
]
, bgroupWithChars "isSpace" chars
[ Bench "base" Char.isSpace
, Bench "unicode-data" GC.isSpace
]
]