Timer: Track name and description.
The previously used "names" are rather descriptions (they use multiple
words and contain spaces), use short programming language identifier
like strings for the "names" which should be used when exporting to
machine parseable formats.
Also removed a unused TimerGroup from Hexxagon.
Differential Revision: https://reviews.llvm.org/D25583
llvm-svn: 287369
diff --git a/llvm/utils/yaml-bench/YAMLBench.cpp b/llvm/utils/yaml-bench/YAMLBench.cpp
index 634622a..721eeee 100644
--- a/llvm/utils/yaml-bench/YAMLBench.cpp
+++ b/llvm/utils/yaml-bench/YAMLBench.cpp
@@ -143,10 +143,10 @@
}
}
-static void benchmark( llvm::TimerGroup &Group
- , llvm::StringRef Name
- , llvm::StringRef JSONText) {
- llvm::Timer BaseLine((Name + ": Loop").str(), Group);
+static void benchmark(llvm::TimerGroup &Group, llvm::StringRef Name,
+ llvm::StringRef Description, llvm::StringRef JSONText) {
+ llvm::Timer BaseLine((Name + ".loop").str(), (Description + ": Loop").str(),
+ Group);
BaseLine.startTimer();
char C = 0;
for (llvm::StringRef::iterator I = JSONText.begin(),
@@ -155,14 +155,16 @@
BaseLine.stopTimer();
volatile char DontOptimizeOut = C; (void)DontOptimizeOut;
- llvm::Timer Tokenizing((Name + ": Tokenizing").str(), Group);
+ llvm::Timer Tokenizing((Name + ".tokenizing").str(),
+ (Description + ": Tokenizing").str(), Group);
Tokenizing.startTimer();
{
yaml::scanTokens(JSONText);
}
Tokenizing.stopTimer();
- llvm::Timer Parsing((Name + ": Parsing").str(), Group);
+ llvm::Timer Parsing((Name + ".parsing").str(),
+ (Description + ": Parsing").str(), Group);
Parsing.startTimer();
{
llvm::SourceMgr SM;
@@ -218,13 +220,15 @@
}
if (Verify) {
- llvm::TimerGroup Group("YAML parser benchmark");
- benchmark(Group, "Fast", createJSONText(10, 500));
+ llvm::TimerGroup Group("yaml", "YAML parser benchmark");
+ benchmark(Group, "Fast", "Fast", createJSONText(10, 500));
} else if (!DumpCanonical && !DumpTokens) {
- llvm::TimerGroup Group("YAML parser benchmark");
- benchmark(Group, "Small Values", createJSONText(MemoryLimitMB, 5));
- benchmark(Group, "Medium Values", createJSONText(MemoryLimitMB, 500));
- benchmark(Group, "Large Values", createJSONText(MemoryLimitMB, 50000));
+ llvm::TimerGroup Group("yaml", "YAML parser benchmark");
+ benchmark(Group, "Small", "Small Values", createJSONText(MemoryLimitMB, 5));
+ benchmark(Group, "Medium", "Medium Values",
+ createJSONText(MemoryLimitMB, 500));
+ benchmark(Group, "Large", "Large Values",
+ createJSONText(MemoryLimitMB, 50000));
}
return 0;