载入中...
搜索中...
未找到
StartupTiming.h
浏览该文件的文档.
1#pragma once
2
3#include <chrono>
4#include <cstdio>
5
6namespace eve {
7
8// Prints "[startup] <name>: X.X ms" to stderr when the scope exits.
9// Temporary diagnostics for startup profiling; remove once startup is fast.
12public:
14 explicit StartupStage(const char* name)
16 : name_(name), t0_(std::chrono::steady_clock::now()) {}
17
20 const double ms =
21 std::chrono::duration<double, std::milli>(std::chrono::steady_clock::now() - t0_)
22 .count();
24 std::fprintf(stderr, "[startup] %s: %.1f ms\n", name_, ms);
25 }
26
27 StartupStage(const StartupStage&) = delete;
29
30private:
31 const char* name_;
32 std::chrono::steady_clock::time_point t0_;
33};
34
35} // namespace eve
std::string name
StartupStage public API.
StartupStage & operator=(const StartupStage &)=delete
StartupStage(const char *name)
Constructs a StartupStage.
~StartupStage()
Releases StartupStage resources.
StartupStage(const StartupStage &)=delete
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16