{%= b.suiteName %}
71 |{%= bb.benchName %}{%= bb.varValue %} {%= bb.cores %} {%= bb.inputSize %} {%= bb.extraArgs %}
76 |{%= bb.cmdline %}
├── .dockerignore ├── tests ├── data │ ├── pack-json.sh │ ├── large-payload.json.bz2 │ ├── expected-results │ │ ├── charts │ │ │ ├── jssom.png │ │ │ ├── jssom-som.png │ │ │ ├── trufflesom.png │ │ │ ├── trufflesom-macro-startup.png │ │ │ ├── trufflesom-macro-steady.png │ │ │ ├── trufflesom-micro-somsom.png │ │ │ ├── trufflesom-micro-startup.png │ │ │ └── trufflesom-micro-steady.png │ │ ├── stats-data-prep │ │ │ ├── tsom │ │ │ │ └── overview.png │ │ │ └── jssom │ │ │ │ └── overview.png │ │ ├── compare-view │ │ │ ├── navigation-jssom.html │ │ │ ├── stats-row-version-missing.html │ │ │ ├── stats-row-across-version.html │ │ │ ├── stats-tbl-header.html │ │ │ ├── stats-row-button-info.html │ │ │ ├── stats-summary.html │ │ │ ├── stats-row-across-exes.html │ │ │ ├── stats-row-version-one-criteria-missing.html │ │ │ ├── stats-row-version.html │ │ │ ├── stats-row-exe.html │ │ │ ├── stats-tbl.html │ │ │ ├── navigation-tsom.html │ │ │ └── compare-versions.html │ │ ├── project │ │ │ ├── get-exp-data.html │ │ │ └── project-data.html │ │ └── main │ │ │ └── index.html │ └── small-payload.json ├── rebench-integration │ ├── test-vm.py │ ├── rebench.conf │ └── check-data.js ├── shared │ ├── aesthetics.test.ts │ ├── single-requester.test.ts │ ├── fast-or-precise.ts │ └── ui.test.ts ├── backend │ ├── compare │ │ └── db-measurements.test.ts │ ├── common │ │ └── standard-responses.test.ts │ ├── project │ │ └── project.test.ts │ ├── db │ │ └── cache-validity.test.ts │ ├── perf-tracker.test.ts │ └── rebench │ │ └── api.test.ts ├── payload.ts └── views │ └── helpers.test.ts ├── .prettierrc ├── src ├── views │ ├── common-menu.html │ ├── header.html │ └── theme-switcher-btn.html ├── backend │ ├── db │ │ ├── schema-updates │ │ │ ├── migration.013.sql │ │ │ ├── migration.009.sql │ │ │ ├── migration.007.sql │ │ │ ├── migration.008.sql │ │ │ ├── migration.005.sql │ │ │ ├── migration.006.sql │ │ │ ├── cleanup-zeros.sql │ │ │ ├── migration.010.sql │ │ │ ├── migration.003.sql │ │ │ ├── migration.002.sql │ │ │ ├── migration.001.sql │ │ │ ├── migration.011.sql │ │ │ └── migration.012.sql │ │ ├── timed-cache-validity.ts │ │ ├── database-with-pool.ts │ │ └── has-profile.ts │ ├── admin │ │ └── operations.ts │ ├── request-check.ts │ ├── compare │ │ └── html │ │ │ ├── navigation.html │ │ │ ├── compare-exes.html │ │ │ ├── compare-versions.html │ │ │ ├── stats-tbl-header.html │ │ │ ├── stats-summary.html │ │ │ ├── stats-tbl.html │ │ │ ├── stats-row-across-versions.html │ │ │ ├── stats-row-buttons-info.html │ │ │ ├── stats-row-across-exes.html │ │ │ ├── refresh-menu.html │ │ │ ├── stats-row.html │ │ │ └── gen-index.html │ ├── rebench │ │ ├── api-validator.ts │ │ └── results.ts │ ├── templates.ts │ ├── logging.ts │ ├── common │ │ ├── standard-responses.ts │ │ └── api-v1.ts │ ├── timeline │ │ ├── timeline-calc-worker.ts │ │ ├── timeline.ts │ │ └── timeline.html │ ├── project │ │ ├── get-exp-data.html │ │ ├── project-data.html │ │ ├── project.html │ │ ├── project.ts │ │ └── data-export.ts │ ├── dev-server │ │ └── server.ts │ ├── util.ts │ ├── perf-tracker.ts │ └── main │ │ └── index.html ├── shared │ ├── util.ts │ ├── errors.ts │ ├── single-requester.ts │ ├── helpers.ts │ ├── aesthetics.ts │ └── data-format.ts ├── download.ts ├── frontend │ ├── project.ts │ ├── project-data.ts │ ├── index.ts │ ├── timeline.ts │ ├── filter.ts │ └── theme.ts ├── vendored │ └── chartjs-node-canvas │ │ └── src │ │ └── backgroundColourPlugin.ts └── benchmarks │ ├── rebenchdb-benchmark.ts │ ├── benchmark.ts │ ├── store-results.ts │ ├── fetch-results.ts │ ├── render-report.ts │ └── compute-timeline.ts ├── Dockerfile.rebench ├── .github └── workflows │ ├── container.yml │ └── ci.yml ├── docker-compose.yml ├── .gitlab-ci.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── patches └── @sgratzl+chartjs-chart-boxplot+4.4.5.patch ├── eslint.config.mjs ├── rebench.conf ├── README.md ├── package.json └── tsconfig.json /.dockerignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | /dist 3 | /resources 4 | 5 | -------------------------------------------------------------------------------- /tests/data/pack-json.sh: -------------------------------------------------------------------------------- 1 | rm -f large-payload.json.bz2 2 | bzip2 -9 -k large-payload.json 3 | -------------------------------------------------------------------------------- /tests/data/large-payload.json.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/large-payload.json.bz2 -------------------------------------------------------------------------------- /tests/data/expected-results/charts/jssom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/jssom.png -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "trailingComma": "none", 4 | "singleQuote": true, 5 | "printWidth": 80, 6 | "tabWidth": 2 7 | } 8 | -------------------------------------------------------------------------------- /tests/data/expected-results/charts/jssom-som.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/jssom-som.png -------------------------------------------------------------------------------- /tests/data/expected-results/charts/trufflesom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/trufflesom.png -------------------------------------------------------------------------------- /src/views/common-menu.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /src/backend/db/schema-updates/migration.013.sql: -------------------------------------------------------------------------------- 1 | -- Remove the Unit table 2 | ALTER TABLE Criterion DROP CONSTRAINT IF EXISTS criterion_unit_fkey; 3 | DROP TABLE Unit; 4 | -------------------------------------------------------------------------------- /tests/data/expected-results/stats-data-prep/tsom/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/stats-data-prep/tsom/overview.png -------------------------------------------------------------------------------- /tests/data/expected-results/charts/trufflesom-macro-startup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/trufflesom-macro-startup.png -------------------------------------------------------------------------------- /tests/data/expected-results/charts/trufflesom-macro-steady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/trufflesom-macro-steady.png -------------------------------------------------------------------------------- /tests/data/expected-results/charts/trufflesom-micro-somsom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/trufflesom-micro-somsom.png -------------------------------------------------------------------------------- /tests/data/expected-results/charts/trufflesom-micro-startup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/trufflesom-micro-startup.png -------------------------------------------------------------------------------- /tests/data/expected-results/charts/trufflesom-micro-steady.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/charts/trufflesom-micro-steady.png -------------------------------------------------------------------------------- /tests/data/expected-results/stats-data-prep/jssom/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/smarr/ReBenchDB/HEAD/tests/data/expected-results/stats-data-prep/jssom/overview.png -------------------------------------------------------------------------------- /src/backend/db/schema-updates/migration.009.sql: -------------------------------------------------------------------------------- 1 | -- Add a column to indicate whether we want notifications on github for this 2 | -- project. 3 | ALTER TABLE Project ADD COLUMN githubNotification bool DEFAULT true; 4 | -------------------------------------------------------------------------------- /src/backend/db/schema-updates/migration.007.sql: -------------------------------------------------------------------------------- 1 | -- Add a position column, which is now used to order the projects 2 | -- where ever db.getAllProjects() is used 3 | ALTER TABLE Project ADD COLUMN position integer DEFAULT 0; 4 | -------------------------------------------------------------------------------- /tests/data/expected-results/compare-view/navigation-jssom.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/backend/db/schema-updates/migration.008.sql: -------------------------------------------------------------------------------- 1 | -- remove the timeline-related database objects 2 | -- they are not needed anymore, because we do everything inside of Node 3 | DROP TABLE IF EXISTS TimelineCalcJob; 4 | DROP SEQUENCE IF EXISTS TimelineJobId; 5 | -------------------------------------------------------------------------------- /tests/data/expected-results/compare-view/stats-row-version-missing.html: -------------------------------------------------------------------------------- 1 |Baseline: {%= suite.baselineExeName %}
7 | 8 |

Please wait, the requested data is currently exported from the database.
25 |Last page reload was at {%= it.currentTime %}
26 |Usually, this takes only a few seconds. 28 | For large experiments, this can take a couple of minutes.
29 |The page will reload automatically.
30 |
| Experiment | 28 |Description | 29 |Start/End | 30 |User | 31 |Commit | 32 |Machine | 33 |#runs | 34 |#measurements | 35 |
|---|
| 4 | | 5 | 6 | | #M | 7 |median time in ms |
8 | time diff % | 9 |median gctime in ms |
10 | gctime diff % | 11 |median allocated in bytes |
12 | allocated diff % | 13 | 14 |15 | |
|---|---|---|---|---|---|---|---|---|---|
| my-benchmark | 19 |![]() |
20 | 43 | 21 | 22 |0.33 | 23 |54600 | 24 |0 | 25 |14600 | 26 |222b | 27 |64600 | 28 |30 | 32 | 33 | 34 | | 35 |
| 9 | | 10 | 11 | | #M | 12 |median time in ms |
13 | time diff % | 14 |median gctime in ms |
15 | gctime diff % | 16 |median allocated in bytes |
17 | allocated diff % | 18 | 19 |20 | |
|---|---|---|---|---|---|---|---|---|---|
| my-benchmark | 24 |![]() |
25 | 43 | 26 | 27 |0.33 | 28 |54600 | 29 |0 | 30 |14600 | 31 |222b | 32 |64600 | 33 |35 | 37 | 38 | 39 | | 40 |
{%= it.base.commitmessage%}
36 |
37 | {%= it.base.name%}
38 | {%= it.change.commitmessage%}
44 |
45 | {%= it.change.name%}
46 | Please wait, the requested report is currently still generated.
60 |Last page reload was at {%= it.currentTime %}
61 |This can take a couple of minutes and the page will reload automatically.
63 |{%= it.generationOutput %}
77 | Please wait, the requested data is currently exported from the database.
40 |Last page reload was at Some Date
41 |Usually, this takes only a few seconds. 43 | For large experiments, this can take a couple of minutes.
44 |The page will reload automatically.
45 || Experiment | 45 |Description | 46 |Start/End | 47 |User | 48 |Commit | 49 |Machine | 50 |#runs | 51 |#measurements | 52 |
|---|
Timeline is based on data for the {%= it.project.basebranch %} branch.
{%= bb.cmdline %}
There are no benchmarks available for this project.
92 | {% } else { %} 93 |The branch to show on the timeline has not been configured. Please ask the ReBenchDB administrator to set the branch for the timeline view.
94 | {% } %} 95 |ReBench is a tool to run and document benchmark experiments. Currently, it is mostly used for benchmarking language implementations, but it can be used to monitor the performance of all kinds of other applications and programs, too.
22 |ReBenchDB is a project started in late 2019 to provide convenient access to data recorded with ReBench. 24 | Our focus is to facilitate the software engineering process with useful performance statistics. 25 |
26 |ReBench is a tool to run and document benchmark experiments. Currently, it is mostly used for benchmarking language implementations, but it can be used to monitor the performance of all kinds of other applications and programs, too.
17 |ReBenchDB is a project started in late 2019 to provide convenient access to data recorded with ReBench. 19 | Our focus is to facilitate the software engineering process with useful performance statistics. 20 |
21 | 22 |Currently, there are no projects available.
63 | 64 |To get started, run your benchmarks with 65 | ReBench 66 | and add the following to your project's ReBench configuration file:
67 |reporting:
68 | rebenchdb:
69 | db_url: rebenchdb
70 | repo_url: https://url-to-your-project-repository
71 | record_all: true # make sure everything is recorded
72 | project_name: Your-Project-Name
73 |