slang-netlist  0.9.0
Loading...
Searching...
No Matches
BuildProfile.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4
5namespace slang::netlist {
6
9 // Phase-level timings (seconds).
10 double phase1_collectSeconds = 0; // Sequential AST traversal
11 double phase2_parallelSeconds = 0; // Parallel DFA dispatch + wait
12 double phase3_drainSeconds = 0; // Sequential drain of deferred work
13 double phase4_rvalueSeconds = 0; // Sequential pending R-value resolution
14
15 // Drain sub-phase timings (seconds).
18
19 // Work item counts.
22
23 // Per-task timing statistics (seconds).
24 double taskMinSeconds = 0;
25 double taskMaxSeconds = 0;
26 double taskMeanSeconds = 0;
28 double taskTotalSeconds = 0; // Sum of all task wall times
29
30 unsigned numThreads = 0;
31
33 [[nodiscard]] auto totalSeconds() const -> double {
36 }
37};
38
39} // namespace slang::netlist
Definition Utilities.hpp:16
Profiling data collected during netlist graph construction.
Definition BuildProfile.hpp:8
auto totalSeconds() const -> double
Total time across all phases.
Definition BuildProfile.hpp:33
size_t deferredPendingRValueCount
Definition BuildProfile.hpp:21
double taskMinSeconds
Definition BuildProfile.hpp:24
double taskMeanSeconds
Definition BuildProfile.hpp:26
size_t deferredBlockCount
Definition BuildProfile.hpp:20
double phase2_parallelSeconds
Definition BuildProfile.hpp:11
double taskMaxSeconds
Definition BuildProfile.hpp:25
double phase4_rvalueSeconds
Definition BuildProfile.hpp:13
double taskMedianSeconds
Definition BuildProfile.hpp:27
unsigned numThreads
Definition BuildProfile.hpp:30
double phase1_collectSeconds
Definition BuildProfile.hpp:10
double drain_pendingRValuesSeconds
Definition BuildProfile.hpp:16
double drain_mergesSeconds
Definition BuildProfile.hpp:17
double phase3_drainSeconds
Definition BuildProfile.hpp:12
double taskTotalSeconds
Definition BuildProfile.hpp:28