diff --git a/.github/workflows/benchmark-new.yml b/.github/workflows/benchmark-new.yml new file mode 100644 index 00000000..9b22dd84 --- /dev/null +++ b/.github/workflows/benchmark-new.yml @@ -0,0 +1,33 @@ +name: Benchmark (new) + +on: [push, pull_request_target, workflow_dispatch] + +jobs: + benchmark-new: + name: Performance regression check (new) + if: contains(toJSON(github.event.head_commit.message), 'Merge pull request ') == false + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - name: install-dependencies + run: | + sudo pip3 install numpy + sudo apt install libsdl2-dev libsdl2-mixer-dev + shell: bash + - name: default build + run: make + - name: Run benchmark + run: | + tests/bench-aggregator.py + - name: Store benchmark results + uses: benchmark-action/github-action-benchmark@v1 + with: + name: Benchmarks + tool: 'customBiggerIsBetter' + output-file-path: benchmark_output.json + github-token: ${{ secrets.RV32EMU_BENCH_TOKEN }} + gh-repository: 'github.com/sysprog21/rv32emu-bench' + gh-pages-branch: 'master' + auto-push: true + comment-always: true + benchmark-data-dir-path: . diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 7f649981..05f10bb8 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -24,6 +24,7 @@ jobs: github.event_name == 'workflow_dispatch'}} run: | sudo pip3 install numpy + sudo apt install libsdl2-dev libsdl2-mixer-dev shell: bash - name: default build if: ${{ steps.changed-files.outputs.any_changed == 'true' || diff --git a/build/coremark.elf b/build/coremark.elf index 2a4e7da2..e169d2aa 100644 Binary files a/build/coremark.elf and b/build/coremark.elf differ diff --git a/build/dhrystone.elf b/build/dhrystone.elf old mode 100644 new mode 100755 index 60974fc1..356ff0eb Binary files a/build/dhrystone.elf and b/build/dhrystone.elf differ diff --git a/src/emulate.c b/src/emulate.c index e156aaba..a8856afb 100644 --- a/src/emulate.c +++ b/src/emulate.c @@ -139,7 +139,7 @@ RV_EXCEPTION_LIST return false; \ } -/* get current time in microsecnds and update csr_time register */ +/* get current time in microseconds and update csr_time register */ static inline void update_time(riscv_t *rv) { struct timeval tv; diff --git a/src/riscv.c b/src/riscv.c index a0d385cc..b282e995 100644 --- a/src/riscv.c +++ b/src/riscv.c @@ -2,6 +2,7 @@ * rv32emu is freely redistributable under the MIT License. See the file * "LICENSE" for information on usage and redistribution of this file. */ +/* An intentional change to trigger the benchmark pipeline */ #include #include