on main help sign in
Update benchmarks for newer GHC versions (#85)
322ddc0Dmitrii Kovanikov
README.md+7−5
@@ -9,7 +9,9 @@
9
9
10`typerep-map` introduces `TMap` and `TypeRepMap` — data structures like [`Map`](http://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#t:Map), but where types serve as keys, and values have the types specified in the corresponding key spots.
10`typerep-map` introduces `TMap` and `TypeRepMap` — data structures like [`Map`](http://hackage.haskell.org/package/containers-0.6.0.1/docs/Data-Map-Lazy.html#t:Map), but where types serve as keys, and values have the types specified in the corresponding key spots.
11
11
12+For the more details on the implementation see the following blog post:
13+
12−For the more details on the implementation see [this blog post](https://kowainik.github.io/posts/2018-07-11-typerep-map-step-by-step).
14+* [typerep-map step by step](https://kowainik.github.io/posts/2018-07-11-typerep-map-step-by-step)
13
15
14## Usage example
16## Usage example
15
17
@@ -49,10 +51,10 @@ False
49Tables below contain comparision with `DMap TypeRep` of ten `lookup` operations
51Tables below contain comparision with `DMap TypeRep` of ten `lookup` operations
50on structure with size `10^4`:
52on structure with size `10^4`:
51
53
52−| | ghc-8.2.2 | ghc-8.4.3 |
54+| | ghc-8.2.2 | ghc-8.4.3 | ghc-8.8.3 | ghc-8.10.1 |
53−|----------------|-----------|-----------|
55+|----------------|-----------|-----------|-----------|------------|
54−| `DMap TypeRep` | 517.5 ns | 779.9 ns |
56+| `DMap TypeRep` | 517.5 ns | 779.9 ns | 1.559 μs | 1.786 μs |
55−| `typerep-map` | 205.3 ns | 187.2 ns |
57+| `typerep-map` | 205.3 ns | 187.2 ns | 190.1 ns | 169.1 ns |
56
58
57 ghc-8.2.2 | ghc-8.4.3
59 ghc-8.2.2 | ghc-8.4.3
58:---------:|:-----------:
60:---------:|:-----------:
typerep-map.cabal+1−1
@@ -111,7 +111,7 @@ benchmark typerep-map-benchmark
111 build-depends: criterion >= 1.4.1.0 && < 1.6
111 build-depends: criterion >= 1.4.1.0 && < 1.6
112 , deepseq ^>= 1.4.3.0
112 , deepseq ^>= 1.4.3.0
113 , dependent-map >= 0.2.4.0 && < 0.5
113 , dependent-map >= 0.2.4.0 && < 0.5
114− , dependent-sum ^>= 0.5
114+ , dependent-sum >= 0.5 && < 0.8
115 , ghc-typelits-knownnat >= 0.4.2 && < 0.8
115 , ghc-typelits-knownnat >= 0.4.2 && < 0.8
116 , typerep-map
116 , typerep-map
117 , typerep-extra-impls
117 , typerep-extra-impls