Skip to content

Commit 12748f1

Browse files
committed
Add new benchmarks to config
1 parent d04d1fe commit 12748f1

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed

Diff for: bench/MultiLayerModules.sh

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/usr/bin/env bash
2+
# Generate $DEPTH layers of modules with $WIDTH modules on each layer
3+
# Every module on layer N imports all the modules on layer N-1
4+
# MultiLayerModules.hs imports all the modules from the last layer
5+
DEPTH=15
6+
WIDTH=40
7+
cat >hie.yaml << EOF
8+
cradle:
9+
direct:
10+
arguments:
11+
EOF
12+
for i in $(seq -w 1 $WIDTH); do
13+
echo "module DummyLevel0M$i where" > DummyLevel0M$i.hs;
14+
echo " - DummyLevel0M$i.hs" >> hie.yaml;
15+
done
16+
for l in $(seq 1 $DEPTH); do
17+
for i in $(seq -w 1 $WIDTH); do
18+
echo "module DummyLevel${l}M$i where" > DummyLevel${l}M$i.hs;
19+
echo " - DummyLevel${l}M$i.hs" >> hie.yaml;
20+
for j in $(seq -w 1 $WIDTH); do
21+
echo "import DummyLevel$((l-1))M$j" >> DummyLevel${l}M$i.hs;
22+
done
23+
done
24+
done
25+
case "$1" in
26+
'--th')
27+
echo "{-# LANGUAGE TemplateHaskell #-}" > MultiLayerModules.hs
28+
;;
29+
esac
30+
echo "module MultiLayerModules where" >> MultiLayerModules.hs
31+
echo " - MultiLayerModules.hs" >> hie.yaml;
32+
for j in $(seq -w 1 $WIDTH); do
33+
echo "import DummyLevel${DEPTH}M$j" >> MultiLayerModules.hs;
34+
done

Diff for: bench/config.yaml

+45
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,50 @@ examples:
3333
modules:
3434
- src/Language/LSP/Types/WatchedFiles.hs
3535
- src/Language/LSP/Types/CallHierarchy.hs
36+
37+
- name: MultiLayerModules
38+
path: bench/MultiLayerModules.sh
39+
script: True
40+
script-args: ["--th"]
41+
modules:
42+
- MultiLayerModules.hs
43+
- DummyLevel0M01.hs
44+
- DummyLevel1M01.hs
45+
- name: MultiLayerModulesNoTH
46+
path: bench/MultiLayerModules.sh
47+
script: True
48+
script-args: []
49+
modules:
50+
- MultiLayerModules.hs
51+
- DummyLevel0M01.hs
52+
- DummyLevel1M01.hs
53+
54+
- name: DummyLevel0M01
55+
path: bench/MultiLayerModules.sh
56+
script: True
57+
script-args: ["--th"]
58+
modules:
59+
- DummyLevel0M01.hs
60+
- name: DummyLevel0M01NoTH
61+
path: bench/MultiLayerModules.sh
62+
script: True
63+
script-args: []
64+
modules:
65+
- DummyLevel0M01.hs
66+
67+
- name: DummyLevel1M01
68+
path: bench/MultiLayerModules.sh
69+
script: True
70+
script-args: ["--th"]
71+
modules:
72+
- DummyLevel1M01.hs
73+
- name: DummyLevel1M01NoTH
74+
path: bench/MultiLayerModules.sh
75+
script: True
76+
script-args: []
77+
modules:
78+
- DummyLevel1M01.hs
79+
3680
# Small but heavily multi-component example
3781
# Disabled as it is far to slow. hie-bios >0.7.2 should help
3882
# - name: HLS
@@ -47,6 +91,7 @@ examples:
4791

4892
# The set of experiments to execute
4993
experiments:
94+
- "edit-header"
5095
- "edit"
5196
- "hover"
5297
- "hover after edit"

0 commit comments

Comments
 (0)