forked from IntersectMBO/plutus
/
plutus-benchmark.cabal
250 lines (225 loc) · 5.82 KB
/
plutus-benchmark.cabal
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
cabal-version: 2.2
name: plutus-benchmark
version: 0.1.0.0
license: Apache-2.0
license-files:
LICENSE
NOTICE
maintainer: radu.ometita@iohk.io
author: Radu Ometita
homepage: https://github.com/iohk/plutus#readme
bug-reports: https://github.com/iohk/plutus/issues
description:
Please see the README on GitHub at <https://github.com/input-output-hk/plutus#readme>
build-type: Simple
data-files:
common/templates/*.tpl
validation/data/*.flat
source-repository head
type: git
location: https://github.com/iohk/plutus
common lang
default-language: Haskell2010
default-extensions: ExplicitForAll FlexibleContexts ScopedTypeVariables
DeriveGeneric StandaloneDeriving DeriveLift
GeneralizedNewtypeDeriving DeriveFunctor DeriveFoldable
DeriveTraversable DerivingStrategies DerivingVia
ImportQualifiedPost
ghc-options:
-fno-specialise
-fno-spec-constr
-fno-ignore-interface-pragmas
-fno-omit-interface-pragmas
ghc-options:
-Wall -Wnoncanonical-monad-instances -Wunused-packages
-Wincomplete-uni-patterns -Wincomplete-record-updates
-Wredundant-constraints -Widentities
-Wnoncanonical-monoid-instances
---------------- Common code for benchmarking ----------------
library plutus-benchmark-common
import: lang
hs-source-dirs:
common
exposed-modules:
PlutusBenchmark.Common
PlutusBenchmark.NaturalSort
other-modules:
Paths_plutus_benchmark
build-depends:
base >=4.7 && <5
, plutus-core -any
, plutus-tx -any
, criterion -any
, deepseq -any
, filepath -any
, transformers -any
---------------- nofib ----------------
library nofib-internal
import: lang
hs-source-dirs:
nofib/src
exposed-modules:
PlutusBenchmark.NoFib.Clausify
PlutusBenchmark.NoFib.Queens
PlutusBenchmark.NoFib.Knights
PlutusBenchmark.NoFib.Knights.ChessSetList
PlutusBenchmark.NoFib.Knights.KnightHeuristic
PlutusBenchmark.NoFib.Knights.Queue
PlutusBenchmark.NoFib.Knights.Sort
PlutusBenchmark.NoFib.Knights.Utils
PlutusBenchmark.NoFib.LastPiece
PlutusBenchmark.NoFib.Prime
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, plutus-core -any
, plutus-tx -any
, plutus-tx-plugin -any
, deepseq -any
executable nofib-exe
import: lang
main-is: Main.hs
hs-source-dirs:
nofib/exe
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, nofib-internal
, plutus-core -any
, plutus-tx -any
, ansi-wl-pprint -any
, bytestring -any
, flat -any
, optparse-applicative -any
benchmark nofib
import: lang
type: exitcode-stdio-1.0
main-is: BenchPlc.hs
hs-source-dirs:
nofib/bench
other-modules:
Shared
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, nofib-internal
, criterion >= 1.5.9.0
benchmark nofib-hs
import: lang
type: exitcode-stdio-1.0
main-is: BenchHaskell.hs
hs-source-dirs:
nofib/bench
other-modules:
Shared
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, nofib-internal
, criterion -any
test-suite plutus-benchmark-nofib-tests
import: lang
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: nofib/test
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, nofib-internal
, plutus-core -any
, plutus-tx -any
, tasty -any
, tasty-hunit -any
, tasty-quickcheck -any
---------------- lists ----------------
library lists-internal
import: lang
hs-source-dirs:
lists/src
exposed-modules:
PlutusBenchmark.Lists.Sort
PlutusBenchmark.Lists.Sum.Compiled
PlutusBenchmark.Lists.Sum.HandWritten
other-modules:
PlutusBenchmark.Lists.Sort.GhcSort
PlutusBenchmark.Lists.Sort.InsertionSort
PlutusBenchmark.Lists.Sort.MergeSort
PlutusBenchmark.Lists.Sort.QuickSort
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, plutus-core -any
, plutus-tx -any
, plutus-tx-plugin -any
executable list-sort-exe
import: lang
main-is: Main.hs
hs-source-dirs:
lists/exe
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, lists-internal
, monoidal-containers -any
, plutus-core -any
benchmark lists
import: lang
type: exitcode-stdio-1.0
main-is: Bench.hs
hs-source-dirs:
lists/bench
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, lists-internal
, criterion >= 1.5.9.0
test-suite plutus-benchmark-lists-tests
import: lang
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: lists/test
other-modules:
Sort.Spec
Sum.Spec
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, lists-internal
, tasty -any
, tasty-quickcheck -any
---------------- validation ----------------
benchmark validation
import: lang
type: exitcode-stdio-1.0
main-is: Bench.hs
hs-source-dirs:
validation
build-depends:
base >=4.7 && <5
, plutus-benchmark-common
, plutus-core -any
, bytestring -any
, criterion >= 1.5.9.0
, deepseq -any
, directory -any
, filepath -any
, flat -any
, optparse-applicative -any
---------------- Cek cost model calibration ----------------
benchmark cek-calibration
import: lang
type: exitcode-stdio-1.0
default-language: Haskell2010
main-is: Main.hs
hs-source-dirs:
cek-calibration
-- Something weird causes this to sometimes report the plugin
-- package as unused...
ghc-options: -Wno-unused-packages
build-depends:
base -any
, plutus-core -any
, plutus-tx -any
, plutus-tx-plugin -any
, criterion >= 1.5.9.0
, mtl -any