Skip to content

Commit 2ffbaa9

Browse files
authored
This will isolate the perf checks in CI (simdjson#1164)
* This will isolate the perf checks. * Fixed typo
1 parent c40aeae commit 2ffbaa9

File tree

5 files changed

+58
-4
lines changed

5 files changed

+58
-4
lines changed

.circleci/config.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,14 @@ commands:
100100
ctest $CTEST_FLAGS -LE "acceptance|per_implementation" # Everything we haven't run yet, run now.
101101
102102
103+
cmake_perftest:
104+
steps:
105+
- cmake_build_cache
106+
- run: |
107+
cmake --build build --target checkperf &&
108+
cd build &&
109+
ctest --output-on-failure -R checkperf
110+
103111
# we not only want cmake to build and run tests, but we want also a successful installation from which we can build, link and run programs
104112
cmake_install_test: # this version builds, install, test and then verify from the installation
105113
steps:
@@ -118,11 +126,16 @@ jobs:
118126
executor: gcc10
119127
environment: { CMAKE_FLAGS: -DSIMDJSON_JUST_LIBRARY=ON }
120128
steps: [ cmake_build, cmake_install_test, cmake_installed_test_cxx20 ]
129+
gcc10-perftest:
130+
description: Build and run performance tests on GCC 10 and AVX 2 with a cmake static build, this test performance regression
131+
executor: gcc10
132+
environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=OFF -DSIMDJSON_BUILD_STATIC=ON }
133+
steps: [ cmake_perftest ]
121134
gcc10:
122-
description: Build and run tests on GCC 10 and AVX 2 with a cmake static build, this test performance regression
135+
description: Build and run tests on GCC 10 and AVX 2 with a cmake static build
123136
executor: gcc10
124137
environment: { CMAKE_FLAGS: -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON }
125-
steps: [ cmake_test_all, cmake_install_test, cmake_installed_test_cxx20 ]
138+
steps: [ cmake_test, cmake_install_test, cmake_installed_test_cxx20 ]
126139
clang6:
127140
description: Build and run tests on clang 6 and AVX 2 with a cmake static build
128141
executor: clang6
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Performance check on Ubuntu 18.04 CI (GCC 7)
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
ubuntu-build:
7+
runs-on: ubuntu-18.04
8+
steps:
9+
- uses: actions/checkout@v2
10+
- name: Setup cmake
11+
uses: jwlawson/actions-setup-cmake@v1.0
12+
with:
13+
cmake-version: '3.9.x'
14+
- name: Use cmake
15+
run: |
16+
mkdir build &&
17+
cd build &&
18+
cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. &&
19+
cmake --build . --target checkperf &&
20+
ctest --output-on-failure -R checkperf ubuntu18-checkperf.yml
21+

.github/workflows/ubuntu18.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
cd build &&
1818
cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. &&
1919
cmake --build . &&
20-
ctest -j --output-on-failure &&
20+
ctest -j --output-on-failure -E checkperf &&
2121
make install &&
2222
echo -e '#include <simdjson.h>\nint main(int argc,char**argv) {simdjson::dom::parser parser;simdjson::dom::element tweets = parser.load(argv[1]); }' > tmp.cpp && c++ -Idestination/include -Ldestination/lib -std=c++17 -Wl,-rpath,destination/lib -o linkandrun tmp.cpp -lsimdjson && ./linkandrun jsonexamples/twitter.json
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Performance check on Ubuntu 20.04 CI (GCC 9)
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
ubuntu-build:
7+
runs-on: ubuntu-20.04
8+
steps:
9+
- uses: actions/checkout@v2
10+
- name: Setup cmake
11+
uses: jwlawson/actions-setup-cmake@v1.0
12+
with:
13+
cmake-version: '3.9.x'
14+
- name: Use cmake
15+
run: |
16+
mkdir build &&
17+
cd build &&
18+
cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. &&
19+
cmake --build . --target checkperf &&
20+
ctest --output-on-failure -R checkperf

.github/workflows/ubuntu20.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
cd build &&
1818
cmake -DSIMDJSON_GOOGLE_BENCHMARKS=ON -DSIMDJSON_BUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX:PATH=destination .. &&
1919
cmake --build . &&
20-
ctest -j --output-on-failure &&
20+
ctest -j --output-on-failure -E checkperf &&
2121
make install &&
2222
echo -e '#include <simdjson.h>\nint main(int argc,char**argv) {simdjson::dom::parser parser;simdjson::dom::element tweets = parser.load(argv[1]); }' > tmp.cpp && c++ -Idestination/include -Ldestination/lib -std=c++17 -Wl,-rpath,destination/lib -o linkandrun tmp.cpp -lsimdjson && ./linkandrun jsonexamples/twitter.json

0 commit comments

Comments
 (0)