A regression that takes 14 hours instead of 4 is usually a testbench problem. Polling loops, hot-path string formatting, unbounded scoreboard queues and full-hierarchy wave dumps multiply runtime and memory. This topic shows where the cost goes and how to control it.
SIMULATION PERFORMANCE AND MEMORY — TOPIC MAP
Where does the time go? Where does the memory go?
-------------------------------- -------------------------
[1] Cost breakdown and [3] Queues, handles,
profiling assoc arrays, leaks
| |
v |
[2] TB hotspots |
(waits, strings, |
copies, sampling, |
solver) |
| |
+----------------+------------------+
v
[4] Visibility cost and debug strategy
(scoped dumps, quiet logs, two profiles, two-pass rerun)Lesson | What it covers |
|---|---|
Illustrative cost split, profiling workflow and reading a TB-dominant profile. | |
Polling loops, string building, copy storms, sample storms and solver abuse, with fixes. | |
Bounded queues, retained handles, sparse arrays, watermarks and a leak hunt. | |
Scoped and windowed dumps, quiet-by-default logs, two profiles and the two-pass rerun. |
Measure first. A profile or a set of differential runs names the largest consumer. Faster machines scale every consumer equally, while one testbench fix can remove the dominant cost entirely.