mirror of
https://github.com/catchorg/Catch2.git
synced 2025-09-21 03:55:39 +02:00
Store tags in one big pre-allocated string and only work with refs
This should decrease the number of allocations before main is entered significantly, but complicates the code somewhat in return. Assuming I used `massif` right, doing just `SelfTest --list-tests` went from 929 allocations at "Remove gcc-4.9 from the travis builds" (2 commits up), to 614 allocations with this commit.
This commit is contained in:
@@ -23,10 +23,10 @@ namespace Catch {
|
||||
};
|
||||
|
||||
struct TagInfo {
|
||||
void add(std::string const& spelling);
|
||||
void add(StringRef spelling);
|
||||
std::string all() const;
|
||||
|
||||
std::set<std::string> spellings;
|
||||
std::set<StringRef> spellings;
|
||||
std::size_t count = 0;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user