-
Notifications
You must be signed in to change notification settings - Fork 0
/
haskell-perf.cabal
119 lines (106 loc) · 3.56 KB
/
haskell-perf.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
cabal-version: 2.2
name: haskell-perf
version: 0.1.0
synopsis: Haskell performance analysis Tool
description:
Analyze the CPU cost, heap allocations, Linux perf event counters for
Haskell threads and for user defined code windows in a Haskell thread
aware manner.
homepage: https://streamly.composewell.com
bug-reports: https://github.com/composewell/haskell-perf/issues
license: Apache-2.0
license-file: LICENSE
tested-with: GHC==9.0.1
, GHC==9.2.7
author: Composewell Technologies
maintainer: [email protected]
copyright: 2021 Composewell Technologies
category: Streamly
stability: Experimental
build-type: Simple
extra-doc-files:
Changelog.md
README.md
dev/*.md
source-repository head
type: git
location: https://github.com/composewell/haskell-perf
flag dev
description: Development build
manual: True
default: False
flag fusion-plugin
description: Use fusion plugin for benchmarks and executables
manual: True
default: False
-------------------------------------------------------------------------------
-- Common stanzas
-------------------------------------------------------------------------------
common default-extensions
default-extensions:
BangPatterns
CApiFFI
ConstraintKinds
DeriveDataTypeable
DeriveGeneric
DeriveTraversable
DoAndIfThenElse
ExistentialQuantification
FlexibleContexts
FlexibleInstances
GeneralizedNewtypeDeriving
InstanceSigs
KindSignatures
LambdaCase
MagicHash
MultiParamTypeClasses
PatternSynonyms
RankNTypes
RecordWildCards
ScopedTypeVariables
TupleSections
TypeApplications
TypeFamilies
ViewPatterns
-- MonoLocalBinds, enabled by TypeFamilies, causes performance
-- regressions. Disable it. This must come after TypeFamilies,
-- otherwise TypeFamilies will enable it again.
NoMonoLocalBinds
-- UndecidableInstances -- Does not show any perf impact
-- UnboxedTuples -- interferes with (#.)
common compile-options
import default-extensions
default-language: Haskell2010
ghc-options: -Weverything
-Wno-implicit-prelude
-Wno-missing-deriving-strategies
-Wno-missing-exported-signatures
-Wno-missing-import-lists
-Wno-missing-local-signatures
-Wno-missing-safe-haskell-mode
-Wno-missed-specialisations
-Wno-all-missed-specialisations
-Wno-monomorphism-restriction
-Wno-prepositive-qualified-module
-Wno-unsafe
-Rghc-timing
-Wno-missing-kind-signatures
-Wno-redundant-bang-patterns
-Wno-operator-whitespace
-Wno-incomplete-uni-patterns
if flag(dev)
ghc-options: -Wmissed-specialisations
-Wall-missed-specialisations
-fno-ignore-asserts
executable hperf
import: compile-options
hs-source-dirs: src
main-is: Main.hs
other-modules: Aggregator, EventParser
ghc-options: -O2 -fmax-worker-args=16 -fspec-constr-recursive=16
build-depends:
base >= 4.9 && < 5
, containers
, streamly-core == 0.2.0
, format-numbers
, text