packages feed

elynx-tree-0.1.0: bench/Bench.hs

{- |
Module      :  Bench
Description :  Various benchmarks
Copyright   :  (c) Dominik Schrempf 2019
License     :  GPL-3

Maintainer  :  dominik.schrempf@gmail.com
Stability   :  unstable
Portability :  portable

Creation date: Mon Dec 16 13:33:27 2019.

-}

import           Criterion.Main
import qualified Data.ByteString.Lazy.Char8  as L
import           Data.Tree

import           ELynx.Data.Tree.Bipartition
import           ELynx.Data.Tree.PhyloTree
import           ELynx.Import.Tree.Newick
import           ELynx.Tools.InputOutput

treeFileMany :: FilePath
treeFileMany = "data/Many.trees"

getManyTrees :: IO [Tree (PhyloLabel L.ByteString)]
getManyTrees = parseFileWith manyNewick treeFileMany

main :: IO ()
main = do
  ts <- getManyTrees
  defaultMain
    [ bgroup "bipartition"
      [ bench "manyTrees" $ whnf (map bipartitions) ts
      ]
    ]