Skip to content

Commit f433757

Browse files
authored
defined job with Fil-C as compiler
Removed Windows job configurations and updated POSIX job to include Fil-C installation steps.
1 parent 9baa682 commit f433757

File tree

1 file changed

+17
-269
lines changed

1 file changed

+17
-269
lines changed

.github/workflows/benchmarks.yml

Lines changed: 17 additions & 269 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,16 @@ on:
55
pull_request:
66
push:
77
branches:
8-
- boost_unordered_flat_map
8+
- boost_unordered_flat_map_fil-c
99

1010
jobs:
1111
posix:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
include:
16-
- name: gcc-x64
17-
compiler: g++-12
18-
architecture: -m64
19-
sourcefile: running_insertion.cpp
20-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
21-
outputfile: benchmark
22-
reportdir: gcc-x64
23-
# os: ubuntu-20.04
24-
os: [self-hosted, linux, x64]
25-
install: g++-12
26-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
27-
- name: gcc-x64
28-
compiler: g++-12
29-
architecture: -m64
30-
sourcefile: running_erasure.cpp
31-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
32-
outputfile: benchmark
33-
reportdir: gcc-x64
34-
# os: ubuntu-20.04
35-
os: [self-hosted, linux, x64]
36-
install: g++-12
37-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
38-
- name: gcc-x64
39-
compiler: g++-12
40-
architecture: -m64
41-
sourcefile: scattered_lookup.cpp
42-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
43-
outputfile: benchmark
44-
reportdir: gcc-x64
45-
# os: ubuntu-20.04
46-
os: [self-hosted, linux, x64]
47-
install: g++-12
48-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
49-
15+
include:
5016
- name: clang-x64
51-
compiler: clang++-15
17+
compiler: fil++
5218
architecture: -m64
5319
sourcefile: running_insertion.cpp
5420
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
@@ -57,127 +23,7 @@ jobs:
5723
# os: ubuntu-20.04
5824
os: [self-hosted, linux, x64]
5925
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
60-
- name: clang-x64
61-
compiler: clang++-15
62-
architecture: -m64
63-
sourcefile: running_erasure.cpp
64-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
65-
outputfile: benchmark
66-
reportdir: clang-x64
67-
# os: ubuntu-20.04
68-
os: [self-hosted, linux, x64]
69-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
70-
- name: clang-x64
71-
compiler: clang++-15
72-
architecture: -m64
73-
sourcefile: scattered_lookup.cpp
74-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
75-
outputfile: benchmark
76-
reportdir: clang-x64
77-
# os: ubuntu-20.04
78-
os: [self-hosted, linux, x64]
79-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
80-
81-
- name: clang-arm64
82-
compiler: clang++
83-
architecture: -m64
84-
sourcefile: running_insertion.cpp
85-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
86-
outputfile: benchmark
87-
reportdir: clang-arm64
88-
# os: ubuntu-20.04
89-
os: [self-hosted, macOS, ARM64]
90-
command: ./benchmark
91-
xcode_version: 13.4.1
92-
- name: clang-arm64
93-
compiler: clang++
94-
architecture: -m64
95-
sourcefile: running_erasure.cpp
96-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
97-
outputfile: benchmark
98-
reportdir: clang-arm64
99-
# os: ubuntu-20.04
100-
os: [self-hosted, macOS, ARM64]
101-
command: ./benchmark
102-
xcode_version: 13.4.1
103-
- name: clang-arm64
104-
compiler: clang++
105-
architecture: -m64
106-
sourcefile: scattered_lookup.cpp
107-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
108-
outputfile: benchmark
109-
reportdir: clang-arm64
110-
# os: ubuntu-20.04
111-
os: [self-hosted, macOS, ARM64]
112-
command: ./benchmark
113-
xcode_version: 13.4.1
114-
115-
- name: gcc-x86
116-
compiler: g++-12
117-
architecture: -m32
118-
sourcefile: running_insertion.cpp
119-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
120-
outputfile: benchmark
121-
reportdir: gcc-x86
122-
# os: ubuntu-20.04
123-
os: [self-hosted, linux, x64]
124-
install: g++-12 gcc-12-multilib g++-12-multilib
125-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
126-
- name: gcc-x86
127-
compiler: g++-12
128-
architecture: -m32
129-
sourcefile: running_erasure.cpp
130-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
131-
outputfile: benchmark
132-
reportdir: gcc-x86
133-
# os: ubuntu-20.04
134-
os: [self-hosted, linux, x64]
135-
install: g++-12 gcc-12-multilib g++-12-multilib
136-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
137-
- name: gcc-x86
138-
compiler: g++-12
139-
architecture: -m32
140-
sourcefile: scattered_lookup.cpp
141-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
142-
outputfile: benchmark
143-
reportdir: gcc-x86
144-
# os: ubuntu-20.04
145-
os: [self-hosted, linux, x64]
146-
install: g++-12 gcc-12-multilib g++-12-multilib
147-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
148-
149-
- name: clang-x86
150-
compiler: clang++-15
151-
architecture: -m32
152-
sourcefile: running_insertion.cpp
153-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
154-
outputfile: benchmark
155-
reportdir: clang-x86
156-
# os: ubuntu-20.04
157-
os: [self-hosted, linux, x64]
158-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
159-
- name: clang-x86
160-
compiler: clang++-15
161-
architecture: -m32
162-
sourcefile: running_erasure.cpp
163-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
164-
outputfile: benchmark
165-
reportdir: clang-x86
166-
# os: ubuntu-20.04
167-
os: [self-hosted, linux, x64]
168-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
169-
- name: clang-x86
170-
compiler: clang++-15
171-
architecture: -m32
172-
sourcefile: scattered_lookup.cpp
173-
compileroptions: -std=c++2a -O3 -DNDEBUG -DHAVE_ABSEIL
174-
outputfile: benchmark
175-
reportdir: clang-x86
176-
# os: ubuntu-20.04
177-
os: [self-hosted, linux, x64]
178-
command: sudo cgexec -g memory,cpu:shield sudo -u gha ./benchmark
179-
180-
26+
18127
runs-on: ${{matrix.os}}
18228

18329
steps:
@@ -189,6 +35,18 @@ jobs:
18935
if uname -p | grep -q 'x86_64'; then sudo dpkg --add-architecture i386 ; fi
19036
sudo apt-get update
19137
sudo apt-get install -y ${{matrix.install}}
38+
- name: Install Fil-C
39+
if: startsWith(matrix.compiler, 'fil++')
40+
run: |
41+
set -xe
42+
mkdir -p /opt/downloads
43+
cd /opt/downloads
44+
fil_c_version="0.674"
45+
wget "https://github.com/pizlonator/fil-c/releases/download/v${fil_c_version}/optfil-${fil_c_version}-linux-x86_64.tar.xz"
46+
tar -xvJf "optfil-${fil_c_version}-linux-x86_64.tar.xz"
47+
cd "optfil-${fil_c_version}-linux-x86_64"
48+
echo -e "YES\nYES" | ./setup.sh
49+
echo "/opt/fil/bin" >> $GITHUB_PATH
19250
- name: Install Boost
19351
run: |
19452
cd $GITHUB_WORKSPACE
@@ -233,117 +91,7 @@ jobs:
23391
git add ${REPORT_FILE}
23492
git commit -m "updated benchmark results"
23593
git push
236-
237-
windows:
238-
strategy:
239-
fail-fast: false
240-
matrix:
241-
include:
242-
- name: vs-x64
243-
compiler: cl
244-
architecture: x64
245-
sourcefile: running_insertion.cpp
246-
compileroptions: /std:c++latest /O2 /D "NDEBUG" /D "HAVE_ABSEIL" /EHsc /MD /Fe:benchmark.exe
247-
outputfile: benchmark.exe
248-
reportdir: vs-x64
249-
# os: windows-2019
250-
os: [self-hosted, Windows, X64]
251-
- name: vs-x64
252-
compiler: cl
253-
architecture: x64
254-
sourcefile: running_erasure.cpp
255-
compileroptions: /std:c++latest /O2 /D "NDEBUG" /D "HAVE_ABSEIL" /EHsc /MD /Fe:benchmark.exe
256-
outputfile: benchmark.exe
257-
reportdir: vs-x64
258-
# os: windows-2019
259-
os: [self-hosted, Windows, X64]
260-
- name: vs-x64
261-
compiler: cl
262-
architecture: x64
263-
sourcefile: scattered_lookup.cpp
264-
compileroptions: /std:c++latest /O2 /D "NDEBUG" /D "HAVE_ABSEIL" /EHsc /MD /Fe:benchmark.exe
265-
outputfile: benchmark.exe
266-
reportdir: vs-x64
267-
# os: windows-2019
268-
os: [self-hosted, Windows, X64]
269-
270-
- name: vs-x86
271-
compiler: cl
272-
architecture: x86
273-
sourcefile: running_insertion.cpp
274-
compileroptions: /std:c++latest /O2 /D "NDEBUG" /D "HAVE_ABSEIL" /EHsc /MD /Fe:benchmark.exe
275-
outputfile: benchmark.exe
276-
reportdir: vs-x86
277-
# os: windows-2019
278-
os: [self-hosted, Windows, X64]
279-
- name: vs-x86
280-
compiler: cl
281-
architecture: x86
282-
sourcefile: running_erasure.cpp
283-
compileroptions: /std:c++latest /O2 /D "NDEBUG" /D "HAVE_ABSEIL" /EHsc /MD /Fe:benchmark.exe
284-
outputfile: benchmark.exe
285-
reportdir: vs-x86
286-
# os: windows-2019
287-
os: [self-hosted, Windows, X64]
288-
- name: vs-x86
289-
compiler: cl
290-
architecture: x86
291-
sourcefile: scattered_lookup.cpp
292-
compileroptions: /std:c++latest /O2 /D "NDEBUG" /D "HAVE_ABSEIL" /EHsc /MD /Fe:benchmark.exe
293-
outputfile: benchmark.exe
294-
reportdir: vs-x86
295-
# os: windows-2019
296-
os: [self-hosted, Windows, X64]
297-
298-
runs-on: ${{matrix.os}}
299-
300-
steps:
301-
- uses: actions/checkout@v3
302-
- name: Install Boost
303-
shell: cmd
304-
run: |
305-
cd %GITHUB_WORKSPACE%
306-
git clone https://github.com/boostorg/boost.git boost-root
307-
cd boost-root
308-
git checkout develop
309-
git submodule update --init
310-
cmd /c bootstrap.bat
311-
.\b2.exe -d0 headers
312-
- name: Install Abseil
313-
shell: cmd
314-
run: |
315-
cd %GITHUB_WORKSPACE%
316-
git clone -b lts_2022_06_23 https://github.com/abseil/abseil-cpp.git abseil-root
317-
- name: Compile
318-
shell: cmd
319-
run: |
320-
cd %GITHUB_WORKSPACE%
321-
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" ${{matrix.architecture}}
322-
set INCLUDE=%INCLUDE%;%GITHUB_WORKSPACE%\boost-root;%GITHUB_WORKSPACE%\abseil-root
323-
echo %INCLUDE%
324-
${{matrix.compiler}} ${{matrix.sourcefile}} ${{matrix.compileroptions}}
325-
- name: Set reportfile name
326-
shell: powershell
327-
run: |
328-
echo "REPORT_FILE=${{matrix.reportdir}}\${{matrix.sourcefile}}.csv" >> $env:GITHUB_ENV
329-
- name: Run benchmark
330-
shell: powershell
331-
run: |
332-
echo "running benchmarks and saving to $env:REPORT_FILE"
333-
./${{matrix.outputfile}} | tee $env:REPORT_FILE
334-
- name: Push benchmark results to repo
335-
shell: powershell
336-
run: |
337-
git config --global user.name 'joaquintides'
338-
git config --global user.email '[email protected]'
339-
git add $env:REPORT_FILE
340-
git stash -- $env:REPORT_FILE
341-
git pull
342-
git stash pop
343-
git add $env:REPORT_FILE
344-
git commit -m "updated benchmark results"
345-
git push
346-
94+
34795
final:
34896
needs: [posix,windows]
34997

0 commit comments

Comments
 (0)