1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE BangPatterns #-}
-- | Benchmark memory allocations.
module Main where
import Control.DeepSeq
import qualified Data.ByteString as S
import qualified Text.XML.Hexml as Hexml
import Weigh
import qualified Xeno.DOM
import qualified Xeno.DOM.Robust
import qualified Xeno.SAX
main :: IO ()
main = do
f4kb <- S.readFile "data/books-4kb.xml"
f31kb <- S.readFile "data/text-31kb.xml"
f211kb <- S.readFile "data/fabricated-211kb.xml"
mainWith
(do func "4kb_hexml_dom" Hexml.parse f4kb
func "4kb_xeno_sax" Xeno.SAX.validate f4kb
func "4kb_xeno_dom" Xeno.DOM.parse f4kb
func "4kb_xeno_dom-with-recovery" Xeno.DOM.Robust.parse f4kb
func "31kb_hexml_dom" Hexml.parse f31kb
func "31kb_xeno_sax" Xeno.SAX.validate f31kb
func "31kb_xeno_dom" Xeno.DOM.parse f31kb
func "31kb_xeno_dom-with-recovery" Xeno.DOM.Robust.parse f31kb
func "211kb_hexml_dom" Hexml.parse f211kb
func "211kb_xeno_sax" Xeno.SAX.validate f211kb
func "211kb_xeno_dom" Xeno.DOM.parse f211kb
func "211kb_xeno_dom-with-recovery" Xeno.DOM.Robust.parse f211kb)
instance NFData Hexml.Node where
rnf !_ = ()
|