From 0d1c475ea135d5799835c5e37237955f32907274 Mon Sep 17 00:00:00 2001 From: Joe Vilches Date: Tue, 13 Feb 2024 16:04:50 -0800 Subject: [PATCH] Convience script to run benchmark Summary: You need to provide the benchmark binary with a path to the captures. This is annoying and there is not a great way to do this in c++ that is cross-plat. So I just made this bash script to ease it. It can do buck and cmake. Reviewed By: NickGerleman Differential Revision: D53632438 --- .github/workflows/validate-cpp.yml | 17 ++++++++++++----- benchmark/benchmark | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 5 deletions(-) create mode 100755 benchmark/benchmark diff --git a/.github/workflows/validate-cpp.yml b/.github/workflows/validate-cpp.yml index bb6257bde5..0409aac46d 100644 --- a/.github/workflows/validate-cpp.yml +++ b/.github/workflows/validate-cpp.yml @@ -66,14 +66,21 @@ jobs: with: toolchain: ${{ matrix.toolchain }} - - name: Build benchmark + - name: Build and run benchmark + run: ./benchmark + working-directory: benchmark + + - name: ls run: | - cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release - cmake --build build + ls + ls build working-directory: benchmark - - name: Run benchmarklegacy - run: ./build/benchmarklegacy + - name: Build and run benchmarklegacy + run: | + cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release + cmake --build build + ./build/benchmarklegacy working-directory: benchmark capture: diff --git a/benchmark/benchmark b/benchmark/benchmark new file mode 100755 index 0000000000..5748e13bcf --- /dev/null +++ b/benchmark/benchmark @@ -0,0 +1,15 @@ +#!/bin/sh +# Copyright (c) Meta Platforms, Inc. and affiliates. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. +cd "$(dirname "$0")" || exit +CAPTURES_PATH="$(dirname "$(realpath "$0")")""/captures" + +if [ "$1" = "buck" ]; then + buck run @fbcode/mode/opt :benchmarkCXX "${CAPTURES_PATH}" +else + cmake -B build -S . -D CMAKE_BUILD_TYPE=Release + cmake --build build + build/benchmark "${CAPTURES_PATH}" +fi