diff options
| author | venkataram-nv <vedavamadath@nvidia.com> | 2024-08-13 11:44:19 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-13 11:44:19 -0700 |
| commit | f4ff4236e1eb80a8274b219d6e4c3813c15be9cd (patch) | |
| tree | 90a5f3db2e0630cda2f5e95d14c0db9cee516233 /source/core | |
| parent | ee052a9e9bd7c0d233816556ebe8f0078bd9ec4d (diff) | |
GitHub action benchmark (#4804)
Adds a new Github CI action for benchmarking the slangc compiler on the MDL shaders. For now, the results are only dumped to the output of the CI, which can be later viewed through raw logs. The next step is to use github-action-benchmark to push these results into a page which will show the benchmark results over time as commits are pushed.
Diffstat (limited to 'source/core')
| -rw-r--r-- | source/core/slang-performance-profiler.cpp | 9 | ||||
| -rw-r--r-- | source/core/slang-performance-profiler.h | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/source/core/slang-performance-profiler.cpp b/source/core/slang-performance-profiler.cpp index b480e1c8e..f08b4998d 100644 --- a/source/core/slang-performance-profiler.cpp +++ b/source/core/slang-performance-profiler.cpp @@ -31,11 +31,14 @@ namespace Slang } virtual void getResult(StringBuilder& out) override { - for (auto func : data) + char buffer[512]; + for (const auto& func : data) { - out << func.key << ": \t"; + memset(buffer, 0, sizeof(buffer)); + snprintf(buffer, sizeof(buffer), "[*] %30s", func.key); + out << buffer << " \t"; auto milliseconds = std::chrono::duration_cast< std::chrono::milliseconds >(func.value.duration); - out << func.value.invocationCount << "\t" << milliseconds.count() << "ms\n"; + out << func.value.invocationCount << " \t" << milliseconds.count() << "ms\n"; } } virtual void clear() override diff --git a/source/core/slang-performance-profiler.h b/source/core/slang-performance-profiler.h index 71b34d262..9895793c4 100644 --- a/source/core/slang-performance-profiler.h +++ b/source/core/slang-performance-profiler.h @@ -68,7 +68,9 @@ private: List<ProfileInfo> m_profilEntries; }; -#define SLANG_PROFILE PerformanceProfilerFuncRAIIContext _profileContext(__func__) +#define SLANG_PROFILE PerformanceProfilerFuncRAIIContext _profileContext(__func__) +#define SLANG_PROFILE_SECTION(s) PerformanceProfilerFuncRAIIContext _profileContext##s(#s) + } #endif |
