Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Auto Benchmark

Auto Benchmark #214

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Auto Benchmark
on:
schedule:
- cron: '0 1 * * 3' # Runs at 09:00 UTC on the 1st of every month
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Pypy3.7
uses: actions/setup-python@v2
with:
python-version: 'pypy-3.7'
- name: Set up Python3.9
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Set up Pyston2.3
run: |
wget https://github.com/pyston/pyston/releases/download/pyston_2.3.5/pyston_2.3.5_20.04.deb
sudo apt install ./pyston_2.*.deb
- name: Install dependencies
run: |
python -m pip install psutil==5.8.0
pypy -m pip install psutil==5.8.0
pyston -m pip install psutil==5.8.0
- name: Test binary-trees
working-directory: python-extension/script
run: |
python -OO binary-trees.py 21 > nooutput.txt
pypy -OO binary-trees.py 21 > nooutput.txt
pyston -OO binary-trees.py 21 > nooutput.txt
- name: Test fannkuch-redux
working-directory: python-extension/script
run: |
python -OO fannkuch-redux.py 12 > nooutput.txt
pypy -OO fannkuch-redux.py 12 > nooutput.txt
pyston -OO fannkuch-redux.py 12 > nooutput.txt
- name: Test fasta
working-directory: python-extension/script
run: |
python -OO fasta.py 25000000 speedtest > fasta25000000.txt
pypy -OO fasta.py 25000000 speedtest > fasta25000000.txt
pyston -OO fasta.py 25000000 speedtest > fasta25000000.txt
- name: Test k-nucleotide
working-directory: python-extension/script
run: |
python -OO k-nucleotide.py 0 < fasta25000000.txt > nooutput.txt
pypy -OO k-nucleotide.py 0 < fasta25000000.txt > nooutput.txt
pyston -OO k-nucleotide.py 0 < fasta25000000.txt > nooutput.txt
rm fasta25000000.txt
- name: Test mandelbrot
working-directory: python-extension/script
run: |
python -OO mandelbrot.py 16000 > nooutput.txt
pypy -OO mandelbrot.py 16000 > nooutput.txt
pyston -OO mandelbrot.py 16000 > nooutput.txt
- name: Test n-body
working-directory: python-extension/script
run: |
python -OO n-body.py 50000000 > nooutput.txt
pypy -OO n-body.py 50000000 > nooutput.txt
pyston -OO n-body.py 50000000 > nooutput.txt
- name: Test pidigits
working-directory: python-extension/script
run: |
python -OO pidigits.py 10000 > nooutput.txt
pypy -OO pidigits.py 10000 > nooutput.txt
pyston -OO pidigits.py 10000 > nooutput.txt
- name: Test regex-redux
working-directory: python-extension/script
run: |
pyston -OO fasta.py 5000000 nospeedtest > fasta5000000.txt
python -OO regex-redux.py 0 < fasta5000000.txt > nooutput.txt
pypy -OO regex-redux.py 0 < fasta5000000.txt > nooutput.txt
pyston -OO regex-redux.py 0 < fasta5000000.txt > nooutput.txt
rm fasta5000000.txt
- name: Test reverse-complement
working-directory: python-extension/script
run: |
pyston -OO fasta.py 100000000 nospeedtest > fasta100000000.txt
python -OO reverse-complement.py 0 < fasta100000000.txt > nooutput.txt
pypy -OO reverse-complement.py 0 < fasta100000000.txt > nooutput.txt
pyston -OO reverse-complement.py 0 < fasta100000000.txt > nooutput.txt
rm fasta100000000.txt
- name: Test spectral-norm
working-directory: python-extension/script
run: |
python -OO spectral-norm.py 5500 > nooutput.txt
pypy -OO spectral-norm.py 5500 > nooutput.txt
pyston -OO spectral-norm.py 5500 > nooutput.txt
rm nooutput.txt
- name: Add version mark
working-directory: python-extension/result
run: |
sudo apt update
sudo apt install lsb-release -y
lsb_release -a > version.txt
uname -a >> version.txt
python -V >> version.txt
pypy -V >> version.txt
pyston -V >> version.txt
- name: Commit files
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action[Bot]"
git add -A
git commit -m "Auto update latest py interpreter's benchmarks"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}