Toolchain v4 with fbthrift (#318)

This commit is contained in:
János Benjamin Antal 2022-01-18 12:51:27 +01:00 committed by GitHub
parent 339cd9b84e
commit e1f31d3d02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 1399 additions and 160 deletions

View File

@ -25,7 +25,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init

View File

@ -32,7 +32,7 @@ jobs:
- name: Build community binaries - name: Build community binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -45,7 +45,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -70,7 +70,7 @@ jobs:
- name: Build combined ASAN, UBSAN and coverage binaries - name: Build combined ASAN, UBSAN and coverage binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -82,7 +82,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. It is restricted to 2 threads intentionally, because higher concurrency makes the timing related tests unstable. # Run unit tests. It is restricted to 2 threads intentionally, because higher concurrency makes the timing related tests unstable.
cd build cd build
@ -91,7 +91,7 @@ jobs:
- name: Compute code coverage - name: Compute code coverage
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Compute code coverage. # Compute code coverage.
cd tools/github cd tools/github
@ -109,7 +109,7 @@ jobs:
- name: Run clang-tidy - name: Run clang-tidy
run: | run: |
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Restrict clang-tidy results only to the modified parts # Restrict clang-tidy results only to the modified parts
git diff -U0 master... -- src ':!*.hpp' | ./tools/github/clang-tidy/clang-tidy-diff.py -p 1 -j $THREADS -path build | tee ./build/clang_tidy_output.txt git diff -U0 master... -- src ':!*.hpp' | ./tools/github/clang-tidy/clang-tidy-diff.py -p 1 -j $THREADS -path build | tee ./build/clang_tidy_output.txt
@ -136,7 +136,7 @@ jobs:
- name: Build debug binaries - name: Build debug binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -149,7 +149,7 @@ jobs:
- name: Run leftover CTest tests - name: Run leftover CTest tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run leftover CTest tests (all except unit and benchmark tests). # Run leftover CTest tests (all except unit and benchmark tests).
cd build cd build
@ -181,7 +181,7 @@ jobs:
- name: Run cppcheck and clang-format - name: Run cppcheck and clang-format
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run cppcheck and clang-format. # Run cppcheck and clang-format.
cd tools/github cd tools/github
@ -212,7 +212,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -238,7 +238,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -272,7 +272,7 @@ jobs:
- name: Create enterprise DEB package - name: Create enterprise DEB package
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
cd build cd build
@ -319,7 +319,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -360,7 +360,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init

View File

@ -23,7 +23,7 @@ jobs:
- name: Build debug binaries - name: Build debug binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -36,10 +36,10 @@ jobs:
- name: Run clang-tidy - name: Run clang-tidy
run: | run: |
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# The results are also written to standard output in order to retain them in the logs # The results are also written to standard output in order to retain them in the logs
./tools/github/clang-tidy/run-clang-tidy.py -p build -j $THREADS -clang-tidy-binary=/opt/toolchain-v3/bin/clang-tidy "$PWD/src/*" | ./tools/github/clang-tidy/run-clang-tidy.py -p build -j $THREADS -clang-tidy-binary=/opt/toolchain-v4/bin/clang-tidy "$PWD/src/*" |
tee ./build/full_clang_tidy_output.txt tee ./build/full_clang_tidy_output.txt
- name: Summarize clang-tidy results - name: Summarize clang-tidy results

View File

@ -26,7 +26,7 @@ jobs:
- name: Build community binaries - name: Build community binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -39,7 +39,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -64,7 +64,7 @@ jobs:
- name: Build coverage binaries - name: Build coverage binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -77,7 +77,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -86,7 +86,7 @@ jobs:
- name: Compute code coverage - name: Compute code coverage
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Compute code coverage. # Compute code coverage.
cd tools/github cd tools/github
@ -121,7 +121,7 @@ jobs:
- name: Build debug binaries - name: Build debug binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -134,7 +134,7 @@ jobs:
- name: Run leftover CTest tests - name: Run leftover CTest tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run leftover CTest tests (all except unit and benchmark tests). # Run leftover CTest tests (all except unit and benchmark tests).
cd build cd build
@ -166,7 +166,7 @@ jobs:
- name: Run cppcheck and clang-format - name: Run cppcheck and clang-format
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run cppcheck and clang-format. # Run cppcheck and clang-format.
cd tools/github cd tools/github
@ -198,7 +198,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -211,7 +211,7 @@ jobs:
- name: Create enterprise RPM package - name: Create enterprise RPM package
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
cd build cd build
@ -233,7 +233,7 @@ jobs:
- name: Run micro benchmark tests - name: Run micro benchmark tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run micro benchmark tests. # Run micro benchmark tests.
cd build cd build
@ -272,7 +272,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build

View File

@ -26,7 +26,7 @@ jobs:
- name: Build community binaries - name: Build community binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -39,7 +39,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -64,7 +64,7 @@ jobs:
- name: Build coverage binaries - name: Build coverage binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -77,7 +77,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -86,7 +86,7 @@ jobs:
- name: Compute code coverage - name: Compute code coverage
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Compute code coverage. # Compute code coverage.
cd tools/github cd tools/github
@ -121,7 +121,7 @@ jobs:
- name: Build debug binaries - name: Build debug binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -134,7 +134,7 @@ jobs:
- name: Run leftover CTest tests - name: Run leftover CTest tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run leftover CTest tests (all except unit and benchmark tests). # Run leftover CTest tests (all except unit and benchmark tests).
cd build cd build
@ -166,7 +166,7 @@ jobs:
- name: Run cppcheck and clang-format - name: Run cppcheck and clang-format
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run cppcheck and clang-format. # Run cppcheck and clang-format.
cd tools/github cd tools/github
@ -198,7 +198,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -211,7 +211,7 @@ jobs:
- name: Create enterprise DEB package - name: Create enterprise DEB package
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
cd build cd build
@ -232,7 +232,7 @@ jobs:
- name: Run micro benchmark tests - name: Run micro benchmark tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run micro benchmark tests. # Run micro benchmark tests.
cd build cd build
@ -271,7 +271,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -333,7 +333,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init

View File

@ -26,7 +26,7 @@ jobs:
- name: Build community binaries - name: Build community binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -39,7 +39,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -64,7 +64,7 @@ jobs:
- name: Build coverage binaries - name: Build coverage binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -77,7 +77,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build
@ -86,7 +86,7 @@ jobs:
- name: Compute code coverage - name: Compute code coverage
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Compute code coverage. # Compute code coverage.
cd tools/github cd tools/github
@ -121,7 +121,7 @@ jobs:
- name: Build debug binaries - name: Build debug binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -134,7 +134,7 @@ jobs:
- name: Run leftover CTest tests - name: Run leftover CTest tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run leftover CTest tests (all except unit and benchmark tests). # Run leftover CTest tests (all except unit and benchmark tests).
cd build cd build
@ -166,7 +166,7 @@ jobs:
- name: Run cppcheck and clang-format - name: Run cppcheck and clang-format
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run cppcheck and clang-format. # Run cppcheck and clang-format.
cd tools/github cd tools/github
@ -198,7 +198,7 @@ jobs:
- name: Build release binaries - name: Build release binaries
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Initialize dependencies. # Initialize dependencies.
./init ./init
@ -211,7 +211,7 @@ jobs:
- name: Create enterprise DEB package - name: Create enterprise DEB package
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
cd build cd build
@ -232,7 +232,7 @@ jobs:
- name: Run micro benchmark tests - name: Run micro benchmark tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run micro benchmark tests. # Run micro benchmark tests.
cd build cd build
@ -271,7 +271,7 @@ jobs:
- name: Run unit tests - name: Run unit tests
run: | run: |
# Activate toolchain. # Activate toolchain.
source /opt/toolchain-v3/activate source /opt/toolchain-v4/activate
# Run unit tests. # Run unit tests.
cd build cd build

55
cmake/FindJemalloc.cmake Normal file
View File

@ -0,0 +1,55 @@
# Try to find jemalloc library
#
# Use this module as:
# find_package(Jemalloc)
#
# or:
# find_package(Jemalloc REQUIRED)
#
# This will define the following variables:
#
# Jemalloc_FOUND True if the system has the jemalloc library.
# Jemalloc_INCLUDE_DIRS Include directories needed to use jemalloc.
# Jemalloc_LIBRARIES Libraries needed to link to jemalloc.
#
# The following cache variables may also be set:
#
# Jemalloc_INCLUDE_DIR The directory containing jemalloc/jemalloc.h.
# Jemalloc_LIBRARY The path to the jemalloc static library.
find_path(Jemalloc_INCLUDE_DIR NAMES jemalloc/jemalloc.h PATH_SUFFIXES include)
find_library(Jemalloc_LIBRARY NAMES libjemalloc.a PATH_SUFFIXES lib)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Jemalloc
FOUND_VAR Jemalloc_FOUND
REQUIRED_VARS
Jemalloc_LIBRARY
Jemalloc_INCLUDE_DIR
)
if(Jemalloc_FOUND)
set(Jemalloc_LIBRARIES ${Jemalloc_LIBRARY})
set(Jemalloc_INCLUDE_DIRS ${Jemalloc_INCLUDE_DIR})
else()
if(Jemalloc_FIND_REQUIRED)
message(FATAL_ERROR "Cannot find jemalloc!")
else()
message(WARNING "jemalloc is not found!")
endif()
endif()
if(Jemalloc_FOUND AND NOT TARGET Jemalloc::Jemalloc)
add_library(Jemalloc::Jemalloc UNKNOWN IMPORTED)
set_target_properties(Jemalloc::Jemalloc
PROPERTIES
IMPORTED_LOCATION "${Jemalloc_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${Jemalloc_INCLUDE_DIR}"
)
endif()
mark_as_advanced(
Jemalloc_INCLUDE_DIR
Jemalloc_LIBRARY
)

View File

@ -14,9 +14,14 @@ TOOLCHAIN_BUILD_DEPS=(
expat-devel libipt-devel libbabeltrace-devel xz-devel python3-devel # gdb expat-devel libipt-devel libbabeltrace-devel xz-devel python3-devel # gdb
texinfo # gdb texinfo # gdb
libcurl-devel # cmake libcurl-devel # cmake
curl # snappy
readline-devel # cmake and llvm readline-devel # cmake and llvm
libffi-devel libxml2-devel perl-Digest-MD5 # llvm libffi-devel libxml2-devel perl-Digest-MD5 # llvm
libedit-devel pcre-devel automake bison # swig libedit-devel pcre-devel automake bison # swig
file
openssl-devel
gmp-devel
gperf
) )
TOOLCHAIN_RUN_DEPS=( TOOLCHAIN_RUN_DEPS=(
@ -26,10 +31,10 @@ TOOLCHAIN_RUN_DEPS=(
expat libipt libbabeltrace xz-libs python3 # for gdb expat libipt libbabeltrace xz-libs python3 # for gdb
readline # for cmake and llvm readline # for cmake and llvm
libffi libxml2 # for llvm libffi libxml2 # for llvm
openssl-devel
) )
MEMGRAPH_BUILD_DEPS=( MEMGRAPH_BUILD_DEPS=(
git # source code control
make pkgconfig # build system make pkgconfig # build system
curl wget # for downloading libs curl wget # for downloading libs
libuuid-devel java-11-openjdk # required by antlr libuuid-devel java-11-openjdk # required by antlr
@ -95,8 +100,12 @@ install() {
echo "NOTE: export LANG=en_US.utf8" echo "NOTE: export LANG=en_US.utf8"
fi fi
yum install -y epel-release yum install -y epel-release
yum remove -y ius-release
yum install -y \
https://repo.ius.io/ius-release-el7.rpm
yum update -y yum update -y
yum install -y wget git python3 python3-pip yum install -y wget python3 python3-pip
yum install -y git224
for pkg in $1; do for pkg in $1; do
if [ "$pkg" == libipt ]; then if [ "$pkg" == libipt ]; then
if ! yum list installed libipt >/dev/null 2>/dev/null; then if ! yum list installed libipt >/dev/null 2>/dev/null; then

View File

@ -13,9 +13,14 @@ TOOLCHAIN_BUILD_DEPS=(
zlib-devel # zlib library used for all builds zlib-devel # zlib library used for all builds
expat-devel libipt-devel libbabeltrace-devel xz-devel python36-devel texinfo # for gdb expat-devel libipt-devel libbabeltrace-devel xz-devel python36-devel texinfo # for gdb
libcurl-devel # for cmake libcurl-devel # for cmake
curl # snappy
readline-devel # for cmake and llvm readline-devel # for cmake and llvm
libffi-devel libxml2-devel # for llvm libffi-devel libxml2-devel # for llvm
libedit-devel pcre-devel automake bison # for swig libedit-devel pcre-devel automake bison # for swig
file
openssl-devel
gmp-devel
gperf
) )
TOOLCHAIN_RUN_DEPS=( TOOLCHAIN_RUN_DEPS=(
@ -25,6 +30,7 @@ TOOLCHAIN_RUN_DEPS=(
expat libipt libbabeltrace xz-libs python36 # for gdb expat libipt libbabeltrace xz-libs python36 # for gdb
readline # for cmake and llvm readline # for cmake and llvm
libffi libxml2 # for llvm libffi libxml2 # for llvm
openssl-devel
) )
MEMGRAPH_BUILD_DEPS=( MEMGRAPH_BUILD_DEPS=(

View File

@ -15,6 +15,12 @@ TOOLCHAIN_BUILD_DEPS=(
libcurl4-openssl-dev # for cmake libcurl4-openssl-dev # for cmake
libreadline-dev # for cmake and llvm libreadline-dev # for cmake and llvm
libffi-dev libxml2-dev # for llvm libffi-dev libxml2-dev # for llvm
curl # snappy
file # for libunwind
libssl-dev # for libevent
libgmp-dev # for gdb
gperf # for proxygen
git # for fbthrift
libedit-dev libpcre3-dev automake bison # for swig libedit-dev libpcre3-dev automake bison # for swig
) )
@ -26,6 +32,7 @@ TOOLCHAIN_RUN_DEPS=(
libcurl4 # for cmake libcurl4 # for cmake
libreadline7 # for cmake and llvm libreadline7 # for cmake and llvm
libffi6 libxml2 # for llvm libffi6 libxml2 # for llvm
libssl-dev # for libevent
) )
MEMGRAPH_BUILD_DEPS=( MEMGRAPH_BUILD_DEPS=(

View File

@ -16,6 +16,12 @@ TOOLCHAIN_BUILD_DEPS=(
libreadline-dev # for cmake and llvm libreadline-dev # for cmake and llvm
libffi-dev libxml2-dev # for llvm libffi-dev libxml2-dev # for llvm
libedit-dev libpcre3-dev automake bison # for swig libedit-dev libpcre3-dev automake bison # for swig
curl # snappy
file # for libunwind
libssl-dev # for libevent
libgmp-dev
gperf # for proxygen
git # for fbthrift
) )
TOOLCHAIN_RUN_DEPS=( TOOLCHAIN_RUN_DEPS=(
@ -27,6 +33,7 @@ TOOLCHAIN_RUN_DEPS=(
file # for CPack file # for CPack
libreadline8 # for cmake and llvm libreadline8 # for cmake and llvm
libffi7 libxml2 # for llvm libffi7 libxml2 # for llvm
libssl-dev # for libevent
) )
MEMGRAPH_BUILD_DEPS=( MEMGRAPH_BUILD_DEPS=(

View File

@ -1,63 +0,0 @@
#!/bin/bash
set -Eeuo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source "$DIR/../util.sh"
TOOLCHAIN_BUILD_DEPS=(
coreutils gcc g++ build-essential make # generic build tools
wget # used for archive download
gnupg # used for archive signature verification
tar gzip bzip2 xz-utils unzip # used for archive unpacking
zlib1g-dev # zlib library used for all builds
libexpat1-dev libipt-dev libbabeltrace-dev libbabeltrace-ctf-dev liblzma-dev python3-dev texinfo # for gdb
libcurl4-openssl-dev # for cmake
libreadline-dev # for cmake and llvm
libffi-dev libxml2-dev # for llvm
libedit-dev libpcre3-dev automake bison # for swig
)
TOOLCHAIN_RUN_DEPS=(
make # generic build tools
tar gzip bzip2 xz-utils # used for archive unpacking
zlib1g # zlib library used for all builds
libexpat1 libipt1 libbabeltrace1 libbabeltrace-ctf1 liblzma5 python3 # for gdb
libcurl3 # for cmake
libreadline7 # for cmake and llvm
libffi6 libxml2 # for llvm
)
MEMGRAPH_BUILD_DEPS=(
git # source code control
make pkg-config # build system
curl wget # for downloading libs
uuid-dev default-jre-headless # required by antlr
libreadline-dev # for memgraph console
libpython3-dev python3-dev # for query modules
libssl-dev
libseccomp-dev
python3 python-virtualenv python3-pip # for qa, macro_benchmark and stress tests
python3-yaml # for the configuration generator
libcurl4-openssl-dev # mg-requests
sbcl # for custom Lisp C++ preprocessing
doxygen graphviz # source documentation generators
mono-runtime mono-mcs nodejs zip unzip default-jdk-headless # for driver tests
autoconf # for jemalloc code generation
libtool # for protobuf code generation
)
list() {
echo "$1"
}
check() {
check_all_dpkg "$1"
}
install() {
install_all_apt "$1"
}
deps=$2"[*]"
"$1" "${!deps}"

View File

@ -16,6 +16,12 @@ TOOLCHAIN_BUILD_DEPS=(
libcurl4-openssl-dev # cmake libcurl4-openssl-dev # cmake
libreadline-dev # cmake and llvm libreadline-dev # cmake and llvm
libffi-dev libxml2-dev # llvm libffi-dev libxml2-dev # llvm
curl # snappy
file
git # for thrift
libgmp-dev # for gdb
gperf # for proxygen
libssl-dev
libedit-dev libpcre3-dev automake bison # swig libedit-dev libpcre3-dev automake bison # swig
) )
@ -27,6 +33,7 @@ TOOLCHAIN_RUN_DEPS=(
libcurl4 # for cmake libcurl4 # for cmake
libreadline7 # for cmake and llvm libreadline7 # for cmake and llvm
libffi6 libxml2 # for llvm libffi6 libxml2 # for llvm
libssl-dev # for libevent
) )
MEMGRAPH_BUILD_DEPS=( MEMGRAPH_BUILD_DEPS=(

View File

@ -15,6 +15,12 @@ TOOLCHAIN_BUILD_DEPS=(
libcurl4-openssl-dev # for cmake libcurl4-openssl-dev # for cmake
libreadline-dev # for cmake and llvm libreadline-dev # for cmake and llvm
libffi-dev libxml2-dev # for llvm libffi-dev libxml2-dev # for llvm
curl # snappy
file
git # for thrift
libgmp-dev # for gdb
gperf # for proxygen
libssl-dev
libedit-dev libpcre3-dev automake bison # for swig libedit-dev libpcre3-dev automake bison # for swig
) )
@ -26,6 +32,7 @@ TOOLCHAIN_RUN_DEPS=(
libcurl4 # for cmake libcurl4 # for cmake
libreadline8 # for cmake and llvm libreadline8 # for cmake and llvm
libffi7 libxml2 # for llvm libffi7 libxml2 # for llvm
libssl-dev # for libevent
) )
MEMGRAPH_BUILD_DEPS=( MEMGRAPH_BUILD_DEPS=(

View File

@ -0,0 +1,2 @@
24d23
< find_dependency(mvfst)

View File

@ -0,0 +1,16 @@
55,57c55,57
< # Disable RTTI.
< string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
< set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
---
> # # Disable RTTI.
> # string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
> # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
80,82c80,82
< # Disable RTTI.
< string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
< set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
---
> # # Disable RTTI.
> # string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
> # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")

1089
environment/toolchain/v4.sh Executable file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
MlVin9BQPTpdA+PpRiJvKJgVDeAFOg==
=asTC
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -102,7 +102,7 @@ import_external_library(antlr4 STATIC
# Setup google benchmark. # Setup google benchmark.
import_external_library(benchmark STATIC import_external_library(benchmark STATIC
${CMAKE_CURRENT_SOURCE_DIR}/benchmark/lib/libbenchmark.a ${CMAKE_CURRENT_SOURCE_DIR}/benchmark/${CMAKE_INSTALL_LIBDIR}/libbenchmark.a
${CMAKE_CURRENT_SOURCE_DIR}/benchmark/include ${CMAKE_CURRENT_SOURCE_DIR}/benchmark/include
# Skip testing. The tests don't compile with Clang 8. # Skip testing. The tests don't compile with Clang 8.
CMAKE_ARGS -DBENCHMARK_ENABLE_TESTING=OFF) CMAKE_ARGS -DBENCHMARK_ENABLE_TESTING=OFF)
@ -241,6 +241,7 @@ import_external_library(librdkafka STATIC
CMAKE_ARGS -DRDKAFKA_BUILD_STATIC=ON CMAKE_ARGS -DRDKAFKA_BUILD_STATIC=ON
-DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_EXAMPLES=OFF
-DRDKAFKA_BUILD_TESTS=OFF -DRDKAFKA_BUILD_TESTS=OFF
-DWITH_ZSTD=OFF
-DENABLE_LZ4_EXT=OFF -DENABLE_LZ4_EXT=OFF
-DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_LIBDIR=lib
-DWITH_SSL=ON -DWITH_SSL=ON

21
libs/rocksdb.patch Normal file
View File

@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6761929..6a369af 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -220,6 +220,7 @@ else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer")
endif()
endif()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-copy -Wno-unused-but-set-variable")
endif()
include(CheckCCompilerFlag)
@@ -997,7 +998,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
if(ROCKSDB_BUILD_SHARED)
install(
- TARGETS ${ROCKSDB_SHARED_LIB}
+ TARGETS ${ROCKSDB_SHARED_LIB} OPTIONAL
EXPORT RocksDBTargets
COMPONENT runtime
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"

View File

@ -181,7 +181,7 @@ rapidcheck_tag="7bc7d302191a4f3d0bf005692677126136e02f60" # (2020-05-04)
repo_clone_try_double "${primary_urls[rapidcheck]}" "${secondary_urls[rapidcheck]}" "rapidcheck" "$rapidcheck_tag" repo_clone_try_double "${primary_urls[rapidcheck]}" "${secondary_urls[rapidcheck]}" "rapidcheck" "$rapidcheck_tag"
# google benchmark # google benchmark
benchmark_tag="v1.1.0" benchmark_tag="v1.6.0"
repo_clone_try_double "${primary_urls[gbenchmark]}" "${secondary_urls[gbenchmark]}" "benchmark" "$benchmark_tag" true repo_clone_try_double "${primary_urls[gbenchmark]}" "${secondary_urls[gbenchmark]}" "benchmark" "$benchmark_tag" true
# google test # google test
@ -220,8 +220,9 @@ sed -i 's/install(TARGETS zlib zlibstatic/install(TARGETS zlibstatic/g' zlib/CMa
rocksdb_tag="v6.14.6" # (2020-10-14) rocksdb_tag="v6.14.6" # (2020-10-14)
repo_clone_try_double "${primary_urls[rocksdb]}" "${secondary_urls[rocksdb]}" "rocksdb" "$rocksdb_tag" true repo_clone_try_double "${primary_urls[rocksdb]}" "${secondary_urls[rocksdb]}" "rocksdb" "$rocksdb_tag" true
# remove shared library from install dependencies pushd rocksdb
sed -i 's/TARGETS ${ROCKSDB_SHARED_LIB}/TARGETS ${ROCKSDB_SHARED_LIB} OPTIONAL/' rocksdb/CMakeLists.txt git apply ../rocksdb.patch
popd
# mgclient # mgclient
mgclient_tag="v1.3.0" # (2021-09-23) mgclient_tag="v1.3.0" # (2021-09-23)

View File

@ -5,7 +5,7 @@ set -Eeuo pipefail
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
SUPPORTED_OS=(centos-7 centos-8 debian-9 debian-10 debian-11 ubuntu-18.04 ubuntu-20.04) SUPPORTED_OS=(centos-7 centos-8 debian-9 debian-10 debian-11 ubuntu-18.04 ubuntu-20.04)
PROJECT_ROOT="$SCRIPT_DIR/../.." PROJECT_ROOT="$SCRIPT_DIR/../.."
TOOLCHAIN_VERSION="toolchain-v3" TOOLCHAIN_VERSION="toolchain-v4"
ACTIVATE_TOOLCHAIN="source /opt/${TOOLCHAIN_VERSION}/activate" ACTIVATE_TOOLCHAIN="source /opt/${TOOLCHAIN_VERSION}/activate"
HOST_OUTPUT_DIR="$PROJECT_ROOT/build/output" HOST_OUTPUT_DIR="$PROJECT_ROOT/build/output"

View File

@ -58,7 +58,8 @@ concept Stream = requires(TStream stream) {
stream.Check(std::optional<std::chrono::milliseconds>{}, std::optional<int64_t>{}, stream.Check(std::optional<std::chrono::milliseconds>{}, std::optional<int64_t>{},
ConsumerFunction<typename TStream::Message>{}) ConsumerFunction<typename TStream::Message>{})
} -> std::same_as<void>; } -> std::same_as<void>;
{ typename TStream::StreamInfo{}.common_info } -> std::same_as<CommonStreamInfo>; requires std::same_as<std::decay_t<decltype(std::declval<typename TStream::StreamInfo>().common_info)>,
CommonStreamInfo>;
requires ConvertableToMgpMessage<typename TStream::Message>; requires ConvertableToMgpMessage<typename TStream::Message>;
requires ConvertableToJson<typename TStream::StreamInfo>; requires ConvertableToJson<typename TStream::StreamInfo>;

View File

@ -10,7 +10,6 @@
// licenses/APL.txt. // licenses/APL.txt.
#include <benchmark/benchmark.h> #include <benchmark/benchmark.h>
#include <benchmark/benchmark_api.h>
#include <iostream> #include <iostream>
#include "data_structures/ring_buffer.hpp" #include "data_structures/ring_buffer.hpp"

View File

@ -10,7 +10,6 @@
// licenses/APL.txt. // licenses/APL.txt.
#include <benchmark/benchmark.h> #include <benchmark/benchmark.h>
#include <benchmark/benchmark_api.h>
#include "communication/result_stream_faker.hpp" #include "communication/result_stream_faker.hpp"
#include "query/config.hpp" #include "query/config.hpp"

View File

@ -9,7 +9,7 @@
// by the Apache License, Version 2.0, included in the file // by the Apache License, Version 2.0, included in the file
// licenses/APL.txt. // licenses/APL.txt.
#include <benchmark/benchmark_api.h> #include <benchmark/benchmark.h>
#include <string> #include <string>
#include <variant> #include <variant>

View File

@ -12,7 +12,7 @@
#include <memory> #include <memory>
#include <vector> #include <vector>
#include <benchmark/benchmark_api.h> #include <benchmark/benchmark.h>
#include "query/context.hpp" #include "query/context.hpp"
#include "utils/tsc.hpp" #include "utils/tsc.hpp"

View File

@ -16,7 +16,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include <benchmark/benchmark_api.h> #include <benchmark/benchmark.h>
#include "query/frontend/stripped.hpp" #include "query/frontend/stripped.hpp"

View File

@ -64,7 +64,7 @@ std::optional<rpc::ClientPool> client_pool;
static void BenchmarkRpc(benchmark::State &state) { static void BenchmarkRpc(benchmark::State &state) {
std::string data(state.range(0), 'a'); std::string data(state.range(0), 'a');
while (state.KeepRunning()) { while (state.KeepRunning()) {
clients[state.thread_index]->Call<Echo>(data); clients[state.thread_index()]->Call<Echo>(data);
} }
state.SetItemsProcessed(state.iterations()); state.SetItemsProcessed(state.iterations());
} }

View File

@ -30,7 +30,7 @@ const uint64_t kMaxNum = 10000000;
class SkipListSetInsertFixture : public benchmark::Fixture { class SkipListSetInsertFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0) { if (state.thread_index() == 0) {
list = utils::SkipList<uint64_t>(); list = utils::SkipList<uint64_t>();
} }
} }
@ -40,7 +40,7 @@ class SkipListSetInsertFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(SkipListSetInsertFixture, Insert)(benchmark::State &state) { BENCHMARK_DEFINE_F(SkipListSetInsertFixture, Insert)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -64,7 +64,7 @@ BENCHMARK_REGISTER_F(SkipListSetInsertFixture, Insert)
class StdSetInsertFixture : public benchmark::Fixture { class StdSetInsertFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0) { if (state.thread_index() == 0) {
container = {}; container = {};
} }
} }
@ -75,7 +75,7 @@ class StdSetInsertFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(StdSetInsertFixture, Insert)(benchmark::State &state) { BENCHMARK_DEFINE_F(StdSetInsertFixture, Insert)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -95,7 +95,7 @@ BENCHMARK_REGISTER_F(StdSetInsertFixture, Insert)
class StdSetWithPoolAllocatorInsertFixture : public benchmark::Fixture { class StdSetWithPoolAllocatorInsertFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0) { if (state.thread_index() == 0) {
container.clear(); container.clear();
} }
} }
@ -108,7 +108,7 @@ class StdSetWithPoolAllocatorInsertFixture : public benchmark::Fixture {
BENCHMARK_DEFINE_F(StdSetWithPoolAllocatorInsertFixture, Insert) BENCHMARK_DEFINE_F(StdSetWithPoolAllocatorInsertFixture, Insert)
(benchmark::State &state) { (benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -132,7 +132,7 @@ BENCHMARK_REGISTER_F(StdSetWithPoolAllocatorInsertFixture, Insert)
class SkipListSetFindFixture : public benchmark::Fixture { class SkipListSetFindFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0 && list.size() == 0) { if (state.thread_index() == 0 && list.size() == 0) {
auto acc = list.access(); auto acc = list.access();
for (uint64_t i = 0; i < kMaxNum; ++i) { for (uint64_t i = 0; i < kMaxNum; ++i) {
acc.insert(i); acc.insert(i);
@ -145,7 +145,7 @@ class SkipListSetFindFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(SkipListSetFindFixture, Find)(benchmark::State &state) { BENCHMARK_DEFINE_F(SkipListSetFindFixture, Find)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -169,7 +169,7 @@ BENCHMARK_REGISTER_F(SkipListSetFindFixture, Find)
class StdSetFindFixture : public benchmark::Fixture { class StdSetFindFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0 && container.size() == 0) { if (state.thread_index() == 0 && container.size() == 0) {
for (uint64_t i = 0; i < kMaxNum; ++i) { for (uint64_t i = 0; i < kMaxNum; ++i) {
container.insert(i); container.insert(i);
} }
@ -182,7 +182,7 @@ class StdSetFindFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(StdSetFindFixture, Find)(benchmark::State &state) { BENCHMARK_DEFINE_F(StdSetFindFixture, Find)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -199,7 +199,7 @@ BENCHMARK_REGISTER_F(StdSetFindFixture, Find)->ThreadRange(1, kThreadsNum)->Unit
class StdSetWithPoolAllocatorFindFixture : public benchmark::Fixture { class StdSetWithPoolAllocatorFindFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0 && container.size() == 0) { if (state.thread_index() == 0 && container.size() == 0) {
for (uint64_t i = 0; i < kMaxNum; ++i) { for (uint64_t i = 0; i < kMaxNum; ++i) {
container.insert(i); container.insert(i);
} }
@ -214,7 +214,7 @@ class StdSetWithPoolAllocatorFindFixture : public benchmark::Fixture {
BENCHMARK_DEFINE_F(StdSetWithPoolAllocatorFindFixture, Find) BENCHMARK_DEFINE_F(StdSetWithPoolAllocatorFindFixture, Find)
(benchmark::State &state) { (benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -252,7 +252,7 @@ bool operator<(const MapObject &a, uint64_t b) { return a.key < b; }
class SkipListMapInsertFixture : public benchmark::Fixture { class SkipListMapInsertFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0) { if (state.thread_index() == 0) {
list = utils::SkipList<MapObject>(); list = utils::SkipList<MapObject>();
} }
} }
@ -262,7 +262,7 @@ class SkipListMapInsertFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(SkipListMapInsertFixture, Insert)(benchmark::State &state) { BENCHMARK_DEFINE_F(SkipListMapInsertFixture, Insert)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -286,7 +286,7 @@ BENCHMARK_REGISTER_F(SkipListMapInsertFixture, Insert)
class StdMapInsertFixture : public benchmark::Fixture { class StdMapInsertFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0) { if (state.thread_index() == 0) {
container = {}; container = {};
} }
} }
@ -297,7 +297,7 @@ class StdMapInsertFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(StdMapInsertFixture, Insert)(benchmark::State &state) { BENCHMARK_DEFINE_F(StdMapInsertFixture, Insert)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -317,7 +317,7 @@ BENCHMARK_REGISTER_F(StdMapInsertFixture, Insert)
class StdMapWithPoolAllocatorInsertFixture : public benchmark::Fixture { class StdMapWithPoolAllocatorInsertFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0) { if (state.thread_index() == 0) {
container = {}; container = {};
} }
} }
@ -330,7 +330,7 @@ class StdMapWithPoolAllocatorInsertFixture : public benchmark::Fixture {
BENCHMARK_DEFINE_F(StdMapWithPoolAllocatorInsertFixture, Insert) BENCHMARK_DEFINE_F(StdMapWithPoolAllocatorInsertFixture, Insert)
(benchmark::State &state) { (benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -354,7 +354,7 @@ BENCHMARK_REGISTER_F(StdMapWithPoolAllocatorInsertFixture, Insert)
class SkipListMapFindFixture : public benchmark::Fixture { class SkipListMapFindFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0 && list.size() == 0) { if (state.thread_index() == 0 && list.size() == 0) {
auto acc = list.access(); auto acc = list.access();
for (uint64_t i = 0; i < kMaxNum; ++i) { for (uint64_t i = 0; i < kMaxNum; ++i) {
acc.insert({i, 0}); acc.insert({i, 0});
@ -367,7 +367,7 @@ class SkipListMapFindFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(SkipListMapFindFixture, Find)(benchmark::State &state) { BENCHMARK_DEFINE_F(SkipListMapFindFixture, Find)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -391,7 +391,7 @@ BENCHMARK_REGISTER_F(SkipListMapFindFixture, Find)
class StdMapFindFixture : public benchmark::Fixture { class StdMapFindFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0 && container.size() == 0) { if (state.thread_index() == 0 && container.size() == 0) {
for (uint64_t i = 0; i < kMaxNum; ++i) { for (uint64_t i = 0; i < kMaxNum; ++i) {
container.insert({i, 0}); container.insert({i, 0});
} }
@ -404,7 +404,7 @@ class StdMapFindFixture : public benchmark::Fixture {
}; };
BENCHMARK_DEFINE_F(StdMapFindFixture, Find)(benchmark::State &state) { BENCHMARK_DEFINE_F(StdMapFindFixture, Find)(benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -421,7 +421,7 @@ BENCHMARK_REGISTER_F(StdMapFindFixture, Find)->ThreadRange(1, kThreadsNum)->Unit
class StdMapWithPoolAllocatorFindFixture : public benchmark::Fixture { class StdMapWithPoolAllocatorFindFixture : public benchmark::Fixture {
protected: protected:
void SetUp(const benchmark::State &state) override { void SetUp(const benchmark::State &state) override {
if (state.thread_index == 0 && container.size() == 0) { if (state.thread_index() == 0 && container.size() == 0) {
for (uint64_t i = 0; i < kMaxNum; ++i) { for (uint64_t i = 0; i < kMaxNum; ++i) {
container.insert({i, 0}); container.insert({i, 0});
} }
@ -436,7 +436,7 @@ class StdMapWithPoolAllocatorFindFixture : public benchmark::Fixture {
BENCHMARK_DEFINE_F(StdMapWithPoolAllocatorFindFixture, Find) BENCHMARK_DEFINE_F(StdMapWithPoolAllocatorFindFixture, Find)
(benchmark::State &state) { (benchmark::State &state) {
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, kMaxNum); std::uniform_int_distribution<uint64_t> dist(0, kMaxNum);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {

View File

@ -25,7 +25,7 @@
// NOLINTNEXTLINE(google-runtime-references) // NOLINTNEXTLINE(google-runtime-references)
static void PropertyStoreSet(benchmark::State &state) { static void PropertyStoreSet(benchmark::State &state) {
storage::PropertyStore store; storage::PropertyStore store;
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1); std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -45,7 +45,7 @@ BENCHMARK(PropertyStoreSet)->RangeMultiplier(2)->Range(1, 1024)->Unit(benchmark:
// NOLINTNEXTLINE(google-runtime-references) // NOLINTNEXTLINE(google-runtime-references)
static void StdMapSet(benchmark::State &state) { static void StdMapSet(benchmark::State &state) {
std::map<storage::PropertyId, storage::PropertyValue> store; std::map<storage::PropertyId, storage::PropertyValue> store;
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1); std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -69,7 +69,7 @@ static void PropertyStoreGet(benchmark::State &state) {
auto prop = storage::PropertyId::FromUint(i); auto prop = storage::PropertyId::FromUint(i);
store.SetProperty(prop, storage::PropertyValue(0)); store.SetProperty(prop, storage::PropertyValue(0));
} }
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1); std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {
@ -93,7 +93,7 @@ static void StdMapGet(benchmark::State &state) {
auto prop = storage::PropertyId::FromUint(i); auto prop = storage::PropertyId::FromUint(i);
store.emplace(prop, storage::PropertyValue(0)); store.emplace(prop, storage::PropertyValue(0));
} }
std::mt19937 gen(state.thread_index); std::mt19937 gen(state.thread_index());
std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1); std::uniform_int_distribution<uint64_t> dist(0, state.range(0) - 1);
uint64_t counter = 0; uint64_t counter = 0;
while (state.KeepRunning()) { while (state.KeepRunning()) {