aboutsummaryrefslogtreecommitdiff
path: root/benchmarks/2.12/benchmark
blob: 513e7bddc4851577a5d646ea4fdee8a85cc1b963 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash

COUNT="$1"
shift

benchmark() {
  DERIVATION="$1"
  TEST="$2"
  ADT="$3"
  echo "$DERIVATION/$TEST:"
  echo "src/$ADT.scala" > .script
  for I in $(seq 1 $COUNT); do
    echo "src/$DERIVATION/$TEST.scala" >> .script
  done
  cat .script | scalac -Xplugin:lib/paradise.jar -Ypartial-unification -Xresident -d bin -cp $(ls lib/* | tr '\n' :)bin | ts -i -s '%M:%.S' > out.log
  cat out.log | tail -n +2 | paste -d' ' - .script | sed 's/nsc.//g' | head -n -1
  echo
}

for J in "$@"; do
    benchmark magnolia "$J" "adt"
    benchmark kittens "$J" "adt"
    benchmark scalaz-deriving "$J" "adt1"
done