Skip to content

Fast functors

Fast functors #93

Workflow file for this run

name: Perf GCC
on: [push, pull_request]
jobs:
build-and-test:
strategy:
matrix:
include:
- type: 'unordered_map'
gcc_ver: '12'
- type: 'unordered_map_open'
gcc_ver: '12'
- type: 'map'
gcc_ver: '12'
- type: 'data_table_static'
gcc_ver: '12'
runs-on: ubuntu-22.04
steps:
- name: Checkout hash-table-shootout
uses: actions/checkout@v3
with:
repository: 'morzhovets/hash-table-shootout'
ref: 'regress'
- name: Checkout momo_v32
uses: actions/checkout@v3
with:
repository: 'morzhovets/momo'
ref: 'v3.2'
path: 'momo_v32'
- name: Checkout momo_v35
uses: actions/checkout@v3
with:
repository: 'morzhovets/momo'
ref: 'v3.5'
path: 'momo_v35'
- name: Checkout momo_v38
uses: actions/checkout@v3
with:
repository: 'morzhovets/momo'
ref: 'v3.8'
path: 'momo_v38'
- name: Checkout momo_cur
uses: actions/checkout@v3
with:
path: 'momo_cur'
- name: Install GCC
run: sudo apt install g++-${{ matrix.gcc_ver }}
- name: Build
run: |
mkdir build
g++-${{ matrix.gcc_ver }} -Imomo_v32 -O3 -DNDEBUG -march=native -std=c++17 -o build/momo_${{ matrix.type }}_1 src/momo_${{ matrix.type }}.cc
g++-${{ matrix.gcc_ver }} -Imomo_v35 -O3 -DNDEBUG -march=native -std=c++17 -o build/momo_${{ matrix.type }}_2 src/momo_${{ matrix.type }}.cc
g++-${{ matrix.gcc_ver }} -Imomo_v38/include -O3 -DNDEBUG -march=native -std=c++17 -o build/momo_${{ matrix.type }}_3 src/momo_${{ matrix.type }}.cc
g++-${{ matrix.gcc_ver }} -Imomo_cur/include -O3 -DNDEBUG -march=native -std=c++20 -o build/momo_${{ matrix.type }}_0 src/momo_${{ matrix.type }}.cc
- name: Test
run: |
sudo nice -n-20 ionice -c1 -n0 sudo -u $USER python3 momo_${{ matrix.type }}.py