hanchenye-llvm-project/libcxx/docs
Eric Fiselier b08d8b189c [libcxx] Add support for benchmark tests using Google Benchmark.
Summary:
This patch does the following:

1. Checks in a copy of the Google Benchmark library into the libc++ repo under `utils/google-benchmark`.
2. Teaches libc++ how to build Google Benchmark against both (A) in-tree libc++ and (B) the platforms native STL.
3. Allows performance benchmarks to be built as part of the libc++ build.

Building the benchmarks (and Google Benchmark) is off by default. It must be enabled using the CMake option `-DLIBCXX_INCLUDE_BENCHMARKS=ON`. When this option is enabled the tests under `libcxx/benchmarks`  can be built using the `libcxx-benchmarks` target.

On Linux platforms where libstdc++ is the default STL the CMake option `-DLIBCXX_BUILD_BENCHMARKS_NATIVE_STDLIB=ON` can be used to build each benchmark test against libstdc++ as well. This is useful for comparing performance between standard libraries.

Support for benchmarks is currently very minimal. They must be manually run by the user and there is no mechanism for detecting performance regressions.

Known Issues:

* `-DLIBCXX_INCLUDE_BENCHMARKS=ON` is only supported for Clang, and not GCC, since the `-stdlib=libc++` option is needed to build Google Benchmark.








Reviewers: danalbert, dberlin, chandlerc, mclow.lists, jroelofs

Subscribers: chandlerc, dberlin, tberghammer, danalbert, srhines, hfinkel

Differential Revision: https://reviews.llvm.org/D22240

llvm-svn: 276049
2016-07-19 23:07:03 +00:00
..
DesignDocs Use __config_site when building libc++. Also cleanup ABI versioning doc 2015-10-14 00:22:05 +00:00
BuildingLibcxx.rst [libcxx] Add support for benchmark tests using Google Benchmark. 2016-07-19 23:07:03 +00:00
CMakeLists.txt
Makefile.sphinx Test commit for builder 2015-09-05 05:29:23 +00:00
README.txt Remove test commit. 2015-09-05 05:38:50 +00:00
TestingLibcxx.rst [libcxx] Add support for benchmark tests using Google Benchmark. 2016-07-19 23:07:03 +00:00
UsingLibcxx.rst Fix errors in documentation 2016-05-06 04:49:30 +00:00
conf.py Update version numbers in docs 2016-05-03 22:50:33 +00:00
index.rst Add links to libc++ code coverage and builders 2015-10-15 03:27:02 +00:00

README.txt

libc++ Documentation
====================

The libc++ documentation is written using the Sphinx documentation generator. It is
currently tested with Sphinx 1.1.3.

To build the documents into html configure libc++ with the following cmake options:

  * -DLLVM_ENABLE_SPHINX=ON
  * -DLIBCXX_INCLUDE_DOCS=ON

After configuring libc++ with these options the make rule `docs-libcxx-html`
should be available.