Skip to content

Commit

Permalink
Setup GitLab CI and ReBench config
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Marr <[email protected]>
  • Loading branch information
smarr committed Dec 18, 2020
1 parent 553114d commit 637de46
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
19 changes: 19 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
stages:
- test-benchmark

variables:
PYTHONUNBUFFERED: "true"

before_script:
- git submodule update --init

jssom:
stage: test-benchmark
tags: [benchmarks, infinity]
script:
- ./som.sh -cp ./Smalltalk ./TestSuite/TestHarness.som
- npm install .
- npm run test

- rebench --experiment="CI ID $CI_PIPELINE_ID" --branch="$CI_COMMIT_REF_NAME" -c rebench.conf all
- rebench --experiment="CI ID $CI_PIPELINE_ID" --report-completion rebench.conf
68 changes: 68 additions & 0 deletions rebench.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# -*- mode: yaml -*-
# Config file for ReBench
default_experiment: all
default_data_file: 'rebench.data'

reporting:
# Benchmark results will be reported to ReBenchDB
rebenchdb:
# this url needs to point to the API endpoint
db_url: https://rebench.stefan-marr.de/rebenchdb
repo_url: https://github.com/smarr/JsSOM
record_all: true # make sure everything is recorded
project_name: JsSOM

runs:
max_invocation_time: 60

benchmark_suites:
macro:
gauge_adapter: RebenchLog
command: &MACRO_CMD "-cp Smalltalk:Examples/Benchmarks/Richards:Examples/Benchmarks/DeltaBlue:Examples/Benchmarks/NBody:Examples/Benchmarks/Json:Examples/Benchmarks/GraphSearch Examples/Benchmarks/BenchmarkHarness.som %(benchmark)s %(iterations)s 0 "
iterations: 10
benchmarks:
- Richards: {extra_args: 1}
- DeltaBlue: {extra_args: 50}
- NBody: {extra_args: 500}
- JsonSmall: {extra_args: 1}
- GraphSearch: {extra_args: 4}
- PageRank: {extra_args: 40}

micro:
gauge_adapter: RebenchLog
command: "-cp Smalltalk:Examples/Benchmarks/LanguageFeatures Examples/Benchmarks/BenchmarkHarness.som %(benchmark)s %(iterations)s 0 "
iterations: 10
benchmarks:
- Fannkuch: {extra_args: 6}
- Fibonacci: {extra_args: 3}
- Dispatch: {extra_args: 2}
- Bounce: {extra_args: 2}
- Loop: {extra_args: 5}
- Permute: {extra_args: 3}
- Queens: {extra_args: 2}
- List: {extra_args: 2}
- Recurse: {extra_args: 3}
- Storage: {extra_args: 1}
- Sieve: {extra_args: 4}
- BubbleSort: {extra_args: 3}
- QuickSort: {extra_args: 1}
- Sum: {extra_args: 2}
- Towers: {extra_args: 2}
- TreeSort: {extra_args: 1}
- IntegerLoop: {extra_args: 2}
- FieldLoop: {extra_args: 1}
- WhileLoop: {extra_args: 10}
- Mandelbrot: {extra_args: 30}

executors:
som: {path: ., executable: som.sh}

# define the benchmarks to be executed for a re-executable benchmark run
experiments:
JsSOM:
description: All benchmarks on JsSOM
suites:
- micro
- macro
executions:
- som

0 comments on commit 637de46

Please sign in to comment.