Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

hiraditya/std-benchmark

Open more actions menu

Repository files navigation

A benchmark for c/c++ standard library.

Build Status

DEPENDENCIES

  • CMake 2.8 or higher
  • Since this is a standard library benchmark, you need a compiler toolchain to benchmark.
  • A C++ compiler with C++11 support
  • google-benchmark (added as a submodule) To download the google-benchmark submodule run the following command in the project root. git submodule update --recursive --remote

BUILDING ON LINUX, MAC

mkdir $SRC/build
cd $SRC/build
cmake ..
cmake --build .
cmake --buid . --config Release

When you are compiling with clang compiler along with libcxx enabled (-DBENCHMARK_USE_LIBCXX=ON), you might get cmake error like this:

   CMake Error at benchmark/CMakeLists.txt:171 (message):
   Failed to determine the source files for the regular expression backend
  -- Configuring incomplete, errors occurred!

In that case,

export LD_LIBRARY_PATH=path-to-clang-install/lib

BUILDING WITH VISUAL STUDIO

mkdir $SRC/build
cd $SRC/build
C:\Program Files (x86)\Microsoft Visual Studio <Version>\VC\vcvarsall.bat amd64
cmake -G"Visual Studio 15 2017 Win64" ..
cmake --build . --config release

Remember to use a generator for Win64 otherwise 32-bit binaries will be built. For more help see config.bat in the top level directory. It has some useful tricks which allows you to use git-bash for building and running the tests.

If there are errors then build the project by opening the visual studio IDE (devenv) and then try to build one component at a time.

TESTING

To test the project run ctest. Running ctest will run the google-benchmark harness tests as well, so if you are only interested in runningthe c and cxx std-benchmark tests use:

ctest -L c --verbose
ctest -L cxx --verbose
ctest -C Release -L c.vs.cxx --verbose

NB: On windows the tests might not run because ctest adds each test under specific configurations. So you have to pass the appropriate configuration using the -C <config> e.g.,

ctest -C Release -L c --verbose
ctest -C Release -L cxx --verbose
ctest -C Release -L c.vs.cxx --verbose

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.