packages feed

string-similarity-0.1.0.0: bench/BenchAll.hs

module Main where
import Criterion.Main

import qualified Data.List.CommonSubstring as Suffix
import qualified Data.List.SlowSubstring as Slow

first padlen = padding ++ "bbbbbbbb" ++ padding
  where  padding = concat $ replicate padlen  "abcd"

second padlen = padding ++ "bbbbbbb" ++ padding
  where  padding = concat (replicate padlen "efgh")

main = defaultMain [
        bgroup "string-similarity"
         [ bench "slow" $ whnf (Slow.longestSubstring $ first 100) (second 100),
           bench "common" $ whnf (Suffix.longestSubstring $ first 100) (second 100),
           bench "common" $ whnf (Suffix.longestSubstring $ first 1000) (second 1000),
           bench "common" $ whnf (Suffix.longestSubstring $ first 10000) (second 10000)
         ]
        ]