libcxx fork for Darling build
Go to file
Eric Fiselier 38af0f8590 Improve performance of unordered_set<uint32_t>::find by 45%. Add benchmarks.
This patch improves the performance of unordered_set's find by 45% when
the value exists within the set. __hash_tables find method
needs to check if it's reached the end of the bucket by constraining the
hash of the current node and checking it against the bucket index. However
constraining the hash is an expensive operations and it can be avoided if the
two unconstrained hashes are equal. This patch applies that optimization.

This patch also adds a top level directory called benchmarks. 'benchmarks/'
is intended to store any/all benchmarks written for the standard library.
Currently nothing is done with files under 'benchmarks/' but I would like
to move towards introducing a formal format and test runner.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@274423 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-02 05:19:59 +00:00
benchmarks Improve performance of unordered_set<uint32_t>::find by 45%. Add benchmarks. 2016-07-02 05:19:59 +00:00
cmake [CMake] Cleanup uses of USES_TERMINAL 2016-06-08 22:20:28 +00:00
docs Add Filesystem TS -- Complete 2016-06-17 19:46:40 +00:00
include Improve performance of unordered_set<uint32_t>::find by 45%. Add benchmarks. 2016-07-02 05:19:59 +00:00
lib Add Filesystem TS -- Complete 2016-06-17 19:46:40 +00:00
src Remove workarounds for C++17 inline variable ABI break. It has been fixed in clang. 2016-07-02 03:21:58 +00:00
test Handle std::get<T>(...) for std::tuple<> 2016-07-02 03:46:08 +00:00
utils Add more missing license headers 2016-01-19 21:58:49 +00:00
www Mark issues 2550, 2551, 2555, 2685, 2698 as complete. These issues are wording clarifications; no code changes required. 2016-06-30 18:05:19 +00:00
.arcconfig Update Arcanist config to point to reviews.llvm.org 2014-06-10 18:29:36 +00:00
.gitignore [libc++] Refactor test components into modules. 2015-01-09 18:03:29 +00:00
CMakeLists.txt Add -Wno-covered-switch-default while compiling libc++ 2016-06-18 18:55:18 +00:00
CREDITS.TXT Add entry to CREDITS.TXT for propagate_const 2016-06-19 19:36:28 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:39:53 +00:00
TODO.TXT Test commit to see if libcxx.llvm.org/docs builds 2015-09-04 22:57:00 +00:00

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.