Skip to content

Commit

Permalink
Merge pull request #31 from volt-software/dev
Browse files Browse the repository at this point in the history
Implement etcd v2 API, various improvements
  • Loading branch information
Oipo committed Dec 8, 2023
2 parents bf945e6 + 8b82bed commit bf6b00f
Show file tree
Hide file tree
Showing 102 changed files with 2,571 additions and 67,791 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ jobs:
if: ${{matrix.sanitizer == 'asan'}}
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: CXX=${{matrix.compiler}} cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.opts}} -DICHOR_USE_SPDLOG=${{matrix.spdlog}} -DICHOR_USE_ABSEIL=${{matrix.absl}} -DICHOR_SERIALIZATION_FRAMEWORK=BOOST_JSON -DICHOR_USE_BOOST_BEAST=ON -DICHOR_USE_SDEVENT=ON -DICHOR_USE_MOLD=OFF
run: CXX=${{matrix.compiler}} cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.opts}} -DICHOR_USE_SPDLOG=${{matrix.spdlog}} -DICHOR_USE_ABSEIL=${{matrix.absl}} -DICHOR_USE_BOOST_BEAST=ON -DICHOR_USE_SDEVENT=ON -DICHOR_USE_MOLD=OFF

- name: "Configure CMake (spdlog:${{matrix.spdlog}}, tsan)"
if: ${{matrix.sanitizer == 'tsan'}}
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: CXX=${{matrix.compiler}} cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.opts}} -DICHOR_USE_SPDLOG=${{matrix.spdlog}} -DICHOR_USE_ABSEIL=${{matrix.absl}} -DICHOR_SERIALIZATION_FRAMEWORK=RAPIDJSON -DICHOR_USE_BOOST_BEAST=ON -DICHOR_USE_SDEVENT=ON -DICHOR_USE_SANITIZERS=OFF -DICHOR_USE_THREAD_SANITIZER=ON -DICHOR_USE_MOLD=OFF
run: CXX=${{matrix.compiler}} cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.opts}} -DICHOR_USE_SPDLOG=${{matrix.spdlog}} -DICHOR_USE_ABSEIL=${{matrix.absl}} -DICHOR_USE_BOOST_BEAST=ON -DICHOR_USE_SDEVENT=ON -DICHOR_USE_SANITIZERS=OFF -DICHOR_USE_THREAD_SANITIZER=ON -DICHOR_USE_MOLD=OFF

- name: Build
# Build your program with the given configuration
Expand All @@ -56,5 +56,5 @@ jobs:

- name: Examples
working-directory: ${{github.workspace}}/bin
run: ../bin/ichor_http_example && ../bin/ichor_multithreaded_example && ../bin/ichor_optional_dependency_example && ../bin/ichor_serializer_example && ../bin/ichor_tcp_example && ../bin/ichor_timer_example && ../bin/ichor_tracker_example && ../bin/ichor_websocket_example && ../bin/ichor_websocket_example -t4 && ../bin/ichor_yielding_timer_example
run: ../bin/ichor_etcd_example && ../bin/ichor_http_example && ../bin/ichor_multithreaded_example && ../bin/ichor_optional_dependency_example && ../bin/ichor_serializer_example && ../bin/ichor_tcp_example && ../bin/ichor_timer_example && ../bin/ichor_tracker_example && ../bin/ichor_websocket_example && ../bin/ichor_websocket_example -t4 && ../bin/ichor_yielding_timer_example && ../bin/ichor_event_statistics_example

6 changes: 3 additions & 3 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
run: echo "/opt/gcc-11.3/bin" >> $GITHUB_PATH

- name: "Configure CMake"
run: cmake -GNinja -B ${{github.workspace}}/build-coverage -DCMAKE_BUILD_TYPE=Debug -DICHOR_SERIALIZATION_FRAMEWORK=RAPIDJSON -DICHOR_USE_BOOST_BEAST=ON -DICHOR_BUILD_COVERAGE=ON -DICHOR_USE_SANITIZERS=OFF -DICHOR_BUILD_BENCHMARKS=OFF
run: cmake -GNinja -B ${{github.workspace}}/build-coverage -DCMAKE_BUILD_TYPE=Debug -DICHOR_USE_BOOST_BEAST=ON -DICHOR_BUILD_COVERAGE=ON -DICHOR_USE_HIREDIS=ON -DICHOR_USE_SANITIZERS=OFF -DICHOR_BUILD_BENCHMARKS=OFF

- name: Build
run: cmake --build ${{github.workspace}}/build-coverage --config Debug
Expand All @@ -35,8 +35,8 @@ jobs:

- name: Examples
working-directory: ${{github.workspace}}/bin
run: ../bin/ichor_http_example && ../bin/ichor_multithreaded_example && ../bin/ichor_optional_dependency_example && ../bin/ichor_serializer_example && ../bin/ichor_tcp_example && ../bin/ichor_timer_example && ../bin/ichor_tracker_example && ../bin/ichor_websocket_example && ../bin/ichor_yielding_timer_example
run: ../bin/ichor_etcd_example && ../bin/ichor_http_example && ../bin/ichor_multithreaded_example && ../bin/ichor_optional_dependency_example && ../bin/ichor_serializer_example && ../bin/ichor_tcp_example && ../bin/ichor_timer_example && ../bin/ichor_tracker_example && ../bin/ichor_websocket_example && ../bin/ichor_yielding_timer_example && ../bin/ichor_event_statistics_example

- name: coverage
run: lcov --directory . --capture --output-file coverage.info && lcov --remove coverage.info '/usr/*' '/opt/*' '${{github.workspace}}/external/*' --output-file coverage.info && lcov --list coverage.info && codecov -f coverage.info

6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
path = external/fmt
url = https://github.com/fmtlib/fmt.git
branch = 7.1.2
[submodule "external/rapidjson"]
path = external/rapidjson
url = https://github.com/Tencent/rapidjson.git
[submodule "external/mimalloc"]
path = external/mimalloc
url = https://github.com/microsoft/mimalloc.git
[submodule "external/glaze"]
path = external/glaze
url = https://github.com/stephenberry/glaze.git
61 changes: 22 additions & 39 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ option(ICHOR_ENABLE_INTERNAL_COROUTINE_DEBUGGING "Add verbose logging of Ichor c
option(ICHOR_ENABLE_INTERNAL_IO_DEBUGGING "Add verbose logging of Ichor I/O internals" OFF)
option(ICHOR_BUILD_COVERAGE "Build ichor with coverage" OFF)
option(ICHOR_USE_SPDLOG "Use spdlog as framework logging implementation" OFF)
option(ICHOR_USE_ETCD "Add etcd services (may not work, not used much)" OFF)
option(ICHOR_USE_BOOST_BEAST "Add boost asio and boost BEAST as dependencies" OFF)
option(ICHOR_USE_SANITIZERS "Enable sanitizers, catching potential errors but slowing down compilation and execution speed" ON)
cmake_dependent_option(ICHOR_USE_THREAD_SANITIZER "Enable thread sanitizer, catching potential threading errors but slowing down compilation and execution speed. Cannot be combined with ICHOR_USE_SANITIZERS" OFF "NOT WIN32" OFF)
Expand Down Expand Up @@ -88,17 +87,17 @@ endif()

set(FMT_SOURCES ${ICHOR_EXTERNAL_DIR}/fmt/src/format.cc ${ICHOR_EXTERNAL_DIR}/fmt/src/os.cc)
file(GLOB_RECURSE ICHOR_FRAMEWORK_SOURCES ${ICHOR_TOP_DIR}/src/ichor/*.cpp)
file(GLOB_RECURSE ICHOR_OPTIONAL_ETCD_SOURCES ${ICHOR_TOP_DIR}/src/services/etcd/*.cpp ${ICHOR_TOP_DIR}/src/services/etcd/*.cc)
file(GLOB_RECURSE ICHOR_OPTIONAL_ETCD_SOURCES ${ICHOR_TOP_DIR}/src/services/etcd/*.cpp)
file(GLOB_RECURSE ICHOR_LOGGING_SOURCES ${ICHOR_TOP_DIR}/src/services/logging/*.cpp)
file(GLOB_RECURSE ICHOR_NETWORK_SOURCES ${ICHOR_TOP_DIR}/src/services/network/*.cpp)
file(GLOB_RECURSE ICHOR_METRICS_SOURCES ${ICHOR_TOP_DIR}/src/services/metrics/*.cpp)
file(GLOB_RECURSE ICHOR_TIMER_SOURCES ${ICHOR_TOP_DIR}/src/services/timer/*.cpp)
file(GLOB_RECURSE ICHOR_HIREDIS_SOURCES ${ICHOR_TOP_DIR}/src/services/redis/*.cpp)
file(GLOB_RECURSE ICHOR_OPTIONAL_HIREDIS_SOURCES ${ICHOR_TOP_DIR}/src/services/redis/*.cpp)
file(GLOB_RECURSE ICHOR_IO_SOURCES ${ICHOR_TOP_DIR}/src/services/io/*.cpp)

file(GLOB SPDLOG_SOURCES ${ICHOR_EXTERNAL_DIR}/spdlog/src/*.cpp)

add_library(ichor ${FMT_SOURCES} ${ICHOR_FRAMEWORK_SOURCES} ${ICHOR_LOGGING_SOURCES} ${ICHOR_NETWORK_SOURCES} ${ICHOR_METRICS_SOURCES} ${ICHOR_TIMER_SOURCES} ${ICHOR_HIREDIS_SOURCES} ${ICHOR_IO_SOURCES})
add_library(ichor ${FMT_SOURCES} ${ICHOR_FRAMEWORK_SOURCES} ${ICHOR_LOGGING_SOURCES} ${ICHOR_NETWORK_SOURCES} ${ICHOR_METRICS_SOURCES} ${ICHOR_TIMER_SOURCES} ${ICHOR_IO_SOURCES})

if(ICHOR_ENABLE_INTERNAL_DEBUGGING)
target_compile_definitions(ichor PUBLIC ICHOR_ENABLE_INTERNAL_DEBUGGING)
Expand All @@ -122,22 +121,6 @@ if(ICHOR_USE_UGLY_HACK_EXCEPTION_CATCHING)
target_compile_definitions(ichor PUBLIC ICHOR_USE_UGLY_HACK_EXCEPTION_CATCHING)
endif()

if(ICHOR_USE_ETCD)
find_package(Protobuf REQUIRED)
find_package(gRPC CONFIG)

if(NOT gRPC_FOUND)
find_package(PkgConfig REQUIRED)
pkg_search_module(GRPC REQUIRED grpc)
pkg_search_module(GRPCPP REQUIRED grpc++>=1.16.0)
set(ETCD_TARGET ${GRPC_LIBRARIES} ${GRPCPP_LIBRARIES} ${PROTOBUF_LIBRARIES})
else()
set(ETCD_TARGET gRPC::grpc++ ${PROTOBUF_LIBRARIES})
endif()

target_compile_definitions(ichor PUBLIC ICHOR_USE_ETCD)
endif()

if(ICHOR_USE_BOOST_BEAST)
target_compile_definitions(ichor PUBLIC ICHOR_USE_BOOST_BEAST)
endif()
Expand All @@ -152,9 +135,11 @@ endif()
if(NOT WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Wno-unused-variable -Wno-long-long -Wno-unused-parameter -Wnull-dereference -pedantic -Wformat -Wformat-security -Wcast-align -Woverloaded-virtual ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -ftemplate-backtrace-limit=0 ")
if(ICHOR_USE_HARDENING AND (CMAKE_BUILD_TYPE MATCHES DEBUG OR CMAKE_BUILD_TYPE MATCHES RELWITHDEBINFO))
if(ICHOR_USE_HARDENING AND (CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo))
# Enable runtime iterator debug checks (like checking two different iterators from different containers)
target_compile_definitions(ichor PUBLIC _GLIBCXX_CONCEPT_CHECKS _GLIBCXX_ASSERTIONS _GLIBCXX_DEBUG _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_SANITIZE_VECTOR _ITERATOR_DEBUG_LEVEL=2)
target_compile_definitions(ichor PUBLIC _GLIBCXX_ASSERTIONS _GLIBCXX_DEBUG _GLIBCXX_DEBUG_PEDANTIC _ITERATOR_DEBUG_LEVEL=2 _LIBCPP_DEBUG=1 _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG)
elseif(ICHOR_USE_HARDENING)
target_compile_definitions(ichor PUBLIC _GLIBCXX_ASSERTIONS _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST)
endif()
target_compile_definitions(ichor PUBLIC _FILE_OFFSET_BITS=64 _TIME_BITS=64)

Expand All @@ -171,8 +156,9 @@ else()
target_compile_definitions(ichor PUBLIC NOMINMAX WIN32_LEAN_AND_MEAN )
endif()

# gcc added support for mold in version 12, but it throws catch off guard when using gcc, mold and sanitizers.
if(ICHOR_USE_MOLD AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# gcc added support for mold in version 12, before that, the flag is ignored.
# Note that with older versions of mold and early versions of gcc 12, issues with the tests have been observed. Please upgrade to the latest if you notice any issues.
if(ICHOR_USE_MOLD)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=mold ")
endif()

Expand Down Expand Up @@ -227,7 +213,7 @@ if(ICHOR_USE_SANITIZERS)

target_compile_options(ichor PUBLIC ${ICHOR_SANITIZE_OPTIONS} -fno-omit-frame-pointer)
target_link_options(ichor PUBLIC ${ICHOR_SANITIZE_OPTIONS})
target_compile_definitions(ichor PUBLIC __SANITIZE_ADDRESS__)
target_compile_definitions(ichor PUBLIC __SANITIZE_ADDRESS__ _GLIBCXX_SANITIZE_VECTOR)

# clang on OSX doesn't accept -no-pie for some reason
if(NOT APPLE)
Expand Down Expand Up @@ -273,7 +259,7 @@ if(NOT DEFINED ICHOR_USE_SANITIZERS AND NOT DEFINED ICHOR_USE_THREAD_SANITIZER)
endif()

if(WIN32 AND ICHOR_USE_HARDENING)
if(CMAKE_BUILD_TYPE MATCHES DEBUG)
if(CMAKE_BUILD_TYPE MATCHES Debug)
target_compile_options(ichor PUBLIC /RTCsu)
endif()
target_compile_options(ichor PUBLIC /GS /guard:cf)
Expand All @@ -282,7 +268,9 @@ elseif(ICHOR_USE_HARDENING)
target_compile_options(ichor PUBLIC -fstack-protector-strong)

if(NOT ICHOR_AARCH64)
target_compile_options(ichor PUBLIC -fcf-protection)
target_compile_options(ichor PUBLIC -fcf-protection=full)
else()
target_compile_options(ichor PUBLIC -mbranch-protection=standard)
endif()

# stack clash protection not available on OSX
Expand Down Expand Up @@ -361,11 +349,6 @@ if(ICHOR_USE_SPDLOG)
target_sources(ichor PRIVATE ${SPDLOG_SOURCES})
endif()

if(ICHOR_USE_ETCD)
target_sources(ichor PRIVATE ${ICHOR_OPTIONAL_ETCD_SOURCES})
target_compile_definitions(ichor PUBLIC GOOGLE_PROTOBUF_NO_RTTI)
endif()

if(ICHOR_USE_SDEVENT)
find_package(PkgConfig REQUIRED)
pkg_check_modules(Systemd IMPORTED_TARGET GLOBAL libsystemd)
Expand Down Expand Up @@ -395,12 +378,17 @@ if(ICHOR_USE_BOOST_BEAST) #beast
target_compile_definitions(ichor PUBLIC BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
endif()

# Etcd implementation requires networking
target_sources(ichor PRIVATE ${ICHOR_OPTIONAL_ETCD_SOURCES})
target_compile_definitions(ichor PUBLIC ICHOR_USE_ETCD)
endif()

if(ICHOR_USE_HIREDIS)
find_package(hiredis REQUIRED)
target_link_libraries(ichor PUBLIC hiredis)
target_compile_definitions(ichor PUBLIC ICHOR_USE_HIREDIS)

target_sources(ichor PRIVATE ${ICHOR_OPTIONAL_HIREDIS_SOURCES})
endif()

target_link_libraries(ichor PUBLIC ${CMAKE_THREAD_LIBS_INIT})
Expand All @@ -423,14 +411,9 @@ if(ICHOR_USE_SPDLOG)
endif()

target_include_directories(ichor PUBLIC
$<BUILD_INTERFACE:${ICHOR_EXTERNAL_DIR}/rapidjson/include>
$<BUILD_INTERFACE:${ICHOR_EXTERNAL_DIR}/glaze/include>
$<INSTALL_INTERFACE:include/ichor/external>)

if(ICHOR_USE_ETCD)
#necessary to get generator protobuf/grpc code to compile
target_include_directories(ichor PUBLIC "${ICHOR_TOP_DIR}/include/ichor/services/etcd")
endif()

# Detection for backward-cpp, works without external libraries on windows and apple
# On linux, it still works without these libraries (on gcc + glibc at least), but provides less functionality.
if(ICHOR_USE_BACKWARD AND NOT ICHOR_MUSL)
Expand Down Expand Up @@ -510,7 +493,7 @@ if(ICHOR_USE_SPDLOG)
)
endif()

install(DIRECTORY "${CMAKE_SOURCE_DIR}/external/rapidjson/include/rapidjson" # source directory
install(DIRECTORY "${CMAKE_SOURCE_DIR}/external/glaze/include/glaze" # source directory
DESTINATION "include/ichor/external" # target directory
FILES_MATCHING # install only matched files
PATTERN "*.h" # select header files
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-musl
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ WORKDIR /opt/ichor/build

ENTRYPOINT ["/bin/sh", "-c"]

CMD ["cd /opt/ichor/build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DICHOR_USE_SANITIZERS=0 -DICHOR_USE_HIREDIS=1 -DICHOR_USE_BOOST_BEAST=1 -DICHOR_USE_SPDLOG=1 -DICHOR_MUSL=1 /opt/ichor/src && make -j"]
CMD ["cd /opt/ichor/build && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DICHOR_USE_SANITIZERS=0 -DICHOR_USE_HIREDIS=1 -DICHOR_USE_BOOST_BEAST=1 -DICHOR_USE_SPDLOG=1 -DICHOR_MUSL=1 /opt/ichor/src && make -j$(nproc)"]
2 changes: 1 addition & 1 deletion Dockerfile-musl-aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ WORKDIR /opt/ichor/build

ENTRYPOINT ["/bin/sh", "-c"]

CMD ["cd /opt/ichor/build && cmake -DCMAKE_BUILD_TYPE=Debug -DICHOR_USE_SANITIZERS=0 -DICHOR_USE_HIREDIS=1 -DICHOR_USE_BOOST_BEAST=1 -DICHOR_USE_SPDLOG=1 -DICHOR_MUSL=1 -DICHOR_AARCH64=1 /opt/ichor/src && make -j"]
CMD ["cd /opt/ichor/build && cmake -DCMAKE_BUILD_TYPE=Debug -DICHOR_USE_SANITIZERS=0 -DICHOR_USE_HIREDIS=1 -DICHOR_USE_BOOST_BEAST=1 -DICHOR_USE_SPDLOG=1 -DICHOR_MUSL=1 -DICHOR_AARCH64=1 /opt/ichor/src && make -j$(nproc)"]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ Optional services:
* JSON serialization services examples
* Timer service
* Redis service
* Partial etcd service (may be broken, unused for a while)
* Etcd v2 service

# Roadmap

* EDF scheduling / WCET measurements
* expand/re-do etcd support, currently only simply put/get supported
* Look into Etcd v3 HTTP API
* Pubsub interfaces
* Kafka? Pulsar? Ecal?
* Shell Commands / REPL
Expand Down
10 changes: 8 additions & 2 deletions benchmark.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ run_benchmarks ()
}

if [ $REBUILD -eq 1 ]; then
rm -rf ../std_std ../std_mimalloc ../absl_std ../absl_mimalloc
mkdir -p ../std_std ../std_mimalloc ../absl_std ../absl_mimalloc
rm -rf ../std_std ../std_mimalloc ../std_no_hardening ../absl_std ../absl_mimalloc
mkdir -p ../std_std ../std_mimalloc ../std_no_hardening ../absl_std ../absl_mimalloc

rm -rf ./* ../bin/*
cmake -GNinja -DICHOR_USE_ABSEIL=OFF -DICHOR_USE_MIMALLOC=OFF -DICHOR_ARCH_OPTIMIZATION=X86_64_AVX2 -DCMAKE_BUILD_TYPE=Release -DICHOR_USE_SANITIZERS=OFF -DICHOR_USE_MOLD=ON -DICHOR_BUILD_EXAMPLES=OFF -DICHOR_BUILD_TESTING=OFF -DICHOR_USE_BOOST_BEAST=ON .. || exit 1
Expand All @@ -65,6 +65,11 @@ if [ $REBUILD -eq 1 ]; then
ninja || exit 1
cp ../bin/*benchmark ../std_mimalloc || exit 1

rm -rf ./* ../bin/*
cmake -GNinja -DICHOR_USE_ABSEIL=OFF -DICHOR_USE_MIMALLOC=ON -DICHOR_USE_HARDENING=OFF -DICHOR_ARCH_OPTIMIZATION=X86_64_AVX2 -DCMAKE_BUILD_TYPE=Release -DICHOR_USE_SANITIZERS=OFF -DICHOR_USE_MOLD=ON -DICHOR_BUILD_EXAMPLES=OFF -DICHOR_BUILD_TESTING=OFF -DICHOR_USE_BOOST_BEAST=ON .. || exit 1
ninja || exit 1
cp ../bin/*benchmark ../std_no_hardening || exit 1

rm -rf ./* ../bin/*
cmake -GNinja -DICHOR_USE_ABSEIL=ON -DICHOR_USE_MIMALLOC=OFF -DICHOR_ARCH_OPTIMIZATION=X86_64_AVX2 -DCMAKE_BUILD_TYPE=Release -DICHOR_USE_SANITIZERS=OFF -DICHOR_USE_MOLD=ON -DICHOR_BUILD_EXAMPLES=OFF -DICHOR_BUILD_TESTING=OFF -DICHOR_USE_BOOST_BEAST=ON .. || exit 1
ninja || exit 1
Expand All @@ -78,5 +83,6 @@ fi

run_benchmarks ../std_std
run_benchmarks ../std_mimalloc
run_benchmarks ../std_no_hardening
run_benchmarks ../absl_std
run_benchmarks ../absl_mimalloc
Loading

0 comments on commit bf6b00f

Please sign in to comment.