hanchenye-llvm-project/libcxx/benchmarks
Eric Fiselier ef915d3ef4 Improve performance of constructing filesystem::path from strings.
This patch fixes a performance bug when constructing or appending to a path
from a string or c-string. Previously we called 'push_back' to append every
single character. This caused multiple re-allocation and copies when at most
one reallocation is necessary. The new behavior is to simply call
`string::append` so it can correctly handle reallocation.

For large strings this change is a ~4x improvement. This also makes our path
faster to construct than libstdc++'s.

llvm-svn: 285530
2016-10-30 23:53:50 +00:00
..
CMakeLists.txt Rewrite std::filesystem::path iterators and parser 2016-10-30 23:30:38 +00:00
ContainerBenchmarks.hpp remove warnings from google-benchmarks in libcxx 2016-10-14 00:07:57 +00:00
GenerateInput.hpp Add start of filesystem benchmarks 2016-10-30 22:53:00 +00:00
algorithms.bench.cpp Update in-tree Google Benchmark to current ToT. 2016-08-09 18:56:48 +00:00
filesystem.bench.cpp Improve performance of constructing filesystem::path from strings. 2016-10-30 23:53:50 +00:00
unordered_set_operations.bench.cpp Update in-tree Google Benchmark to current ToT. 2016-08-09 18:56:48 +00:00
util_smartptr.bench.cpp Adding smart_ptr benchmark 2016-08-01 19:56:39 +00:00
vector_operations.bench.cpp Start adding benchmarks for vector 2016-07-24 06:51:55 +00:00