on main help sign in
Show tree for debug
commit396eb06a24c83f5b40e0fc365e0cdb1adfddc619 authorVladislav Zavialov <vlad.z.4096@gmail.com> dateSat 16 Dec 2017, 19:58 (9 years ago) parentf517f30
2 files changed+7−2
benchmark/Main.hs+3−2 src/Data/TypeRep/Map.hs+4
benchmark/Main.hs+3−2
@@ -8,11 +8,12 @@ import Prelude hiding (lookup)
88import Data.Proxy (Proxy (..))
99import Data.Typeable (Typeable)
1010
11−import Data.TypeRep.Map (TypeRepMap, empty, insert, lookup, size)
11+import Data.TypeRep.Map (TypeRepMap, empty, insert, lookup, size, dbgShowTree)
1212
1313main :: IO ()
1414main = do
1515 putStrLn $ "size: " ++ (show $ size bigMap)
16+ putStrLn $ "tree:\n" ++ (dbgShowTree bigMap)
1617 defaultMain
1718 [ bench "lookup" $ whnf (lookup :: TypeRepMap -> Maybe Char) bigMap
1819 , bench "insert new" $ whnf (\x -> insert x bigMap) (111 :: Int)
@@ -21,7 +22,7 @@ main = do
2122
2223-- TypeRepMap of 10000 elements
2324bigMap :: TypeRepMap
24−bigMap = buildBigMap 10000 (Proxy :: Proxy Z) empty
25+bigMap = buildBigMap 15 (Proxy :: Proxy Z) empty
2526
2627data Z
2728data S a
src/Data/TypeRep/Map.hs+4
@@ -7,6 +7,7 @@ module Data.TypeRep.Map
77 , insert
88 , lookup
99 , size
10+ , dbgShowTree
1011 ) where
1112
1213import Prelude hiding (lookup)
@@ -42,3 +43,6 @@ lookup = fmap unsafeCoerce . LMap.lookup (typeRep (Proxy :: Proxy a)) . unMap
4243
4344size :: TypeRepMap -> Int
4445size = LMap.size . unMap
46+
47+dbgShowTree :: TypeRepMap -> String
48+dbgShowTree = LMap.showTreeWith (\k _ -> show k) False True . unMap