feat: Introduce core language infrastructure including AST, runtime o… #8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ProXPL Real Benchmarks | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [ main ] | |
| jobs: | |
| benchmark: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt install -y build-essential time openjdk-17-jdk | |
| - name: Setup Rust | |
| uses: actions/setup-rust@v1 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| - name: Build ProXPL | |
| run: | | |
| make || true | |
| - name: Build C | |
| run: | | |
| gcc benchmarks/fib/fib.c -O3 -o fib_c | |
| - name: Build C++ | |
| run: | | |
| g++ benchmarks/fib/fib.cpp -O3 -o fib_cpp | |
| - name: Build Rust | |
| run: | | |
| rustc benchmarks/fib/fib.rs -O -o fib_rs | |
| - name: Build Go | |
| run: | | |
| go build -o fib_go benchmarks/fib/fib.go | |
| - name: Build Java | |
| run: | | |
| javac benchmarks/fib/fib.java | |
| - name: Run benchmarks | |
| run: | | |
| echo "LANGUAGE,REAL_TIME_SEC" > results.csv | |
| /usr/bin/time -f "C,%e" ./fib_c 2>> results.csv | |
| /usr/bin/time -f "C++,%e" ./fib_cpp 2>> results.csv | |
| /usr/bin/time -f "Rust,%e" ./fib_rs 2>> results.csv | |
| /usr/bin/time -f "Go,%e" ./fib_go 2>> results.csv | |
| /usr/bin/time -f "Java,%e" java Fib 2>> results.csv | |
| /usr/bin/time -f "ProXPL,%e" ./prox benchmarks/fib/fib.prox 2>> results.csv || true | |
| cat results.csv | |
| - name: Upload benchmark results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: proxpl-benchmark-results | |
| path: results.csv |