`n` structs each conforming to a shared interface. Stresses interface conformance checking / witness synthesis in the front end (compiled to a .slang-module so the signal is sema, not codegen).
bucket: sema · compile mode: module · flags: (none) · default N: 600
Full sub-counter decomposition of compileInner — named leaf timers plus (self) residuals (a parent's time not covered by a named child, e.g. the autodiff transform in linkAndOptimizeIR (self)). Topmost band traces compileInner; hover a band for its phase.
exact compiled source (N = 600); long files show the first 40 lines, the area around computeMain (±40), and the last 40 lines (gaps elided)
// AUTO-GENERATED by perf-suite/workloads.py — do not edit by hand.
interface IFace { float f(float x); int g(); }
struct C0 : IFace { float f(float x) { return x * 1.0 + 0.0; } int g() { return 0; } }
struct C1 : IFace { float f(float x) { return x * 2.0 + 1.0; } int g() { return 1; } }
struct C2 : IFace { float f(float x) { return x * 3.0 + 2.0; } int g() { return 2; } }
struct C3 : IFace { float f(float x) { return x * 4.0 + 3.0; } int g() { return 3; } }
struct C4 : IFace { float f(float x) { return x * 5.0 + 4.0; } int g() { return 4; } }
struct C5 : IFace { float f(float x) { return x * 6.0 + 5.0; } int g() { return 5; } }
struct C6 : IFace { float f(float x) { return x * 7.0 + 6.0; } int g() { return 6; } }
struct C7 : IFace { float f(float x) { return x * 8.0 + 7.0; } int g() { return 7; } }
struct C8 : IFace { float f(float x) { return x * 9.0 + 8.0; } int g() { return 8; } }
struct C9 : IFace { float f(float x) { return x * 1.0 + 9.0; } int g() { return 9; } }
struct C10 : IFace { float f(float x) { return x * 2.0 + 10.0; } int g() { return 10; } }
struct C11 : IFace { float f(float x) { return x * 3.0 + 11.0; } int g() { return 11; } }
struct C12 : IFace { float f(float x) { return x * 4.0 + 12.0; } int g() { return 12; } }
struct C13 : IFace { float f(float x) { return x * 5.0 + 13.0; } int g() { return 13; } }
struct C14 : IFace { float f(float x) { return x * 6.0 + 14.0; } int g() { return 14; } }
struct C15 : IFace { float f(float x) { return x * 7.0 + 15.0; } int g() { return 15; } }
struct C16 : IFace { float f(float x) { return x * 8.0 + 16.0; } int g() { return 16; } }
struct C17 : IFace { float f(float x) { return x * 9.0 + 17.0; } int g() { return 17; } }
struct C18 : IFace { float f(float x) { return x * 1.0 + 18.0; } int g() { return 18; } }
struct C19 : IFace { float f(float x) { return x * 2.0 + 19.0; } int g() { return 19; } }
struct C20 : IFace { float f(float x) { return x * 3.0 + 20.0; } int g() { return 20; } }
struct C21 : IFace { float f(float x) { return x * 4.0 + 21.0; } int g() { return 21; } }
struct C22 : IFace { float f(float x) { return x * 5.0 + 22.0; } int g() { return 22; } }
struct C23 : IFace { float f(float x) { return x * 6.0 + 23.0; } int g() { return 23; } }
struct C24 : IFace { float f(float x) { return x * 7.0 + 24.0; } int g() { return 24; } }
struct C25 : IFace { float f(float x) { return x * 8.0 + 25.0; } int g() { return 25; } }
struct C26 : IFace { float f(float x) { return x * 9.0 + 26.0; } int g() { return 26; } }
struct C27 : IFace { float f(float x) { return x * 1.0 + 27.0; } int g() { return 27; } }
struct C28 : IFace { float f(float x) { return x * 2.0 + 28.0; } int g() { return 28; } }
struct C29 : IFace { float f(float x) { return x * 3.0 + 29.0; } int g() { return 29; } }
struct C30 : IFace { float f(float x) { return x * 4.0 + 30.0; } int g() { return 30; } }
struct C31 : IFace { float f(float x) { return x * 5.0 + 31.0; } int g() { return 31; } }
struct C32 : IFace { float f(float x) { return x * 6.0 + 32.0; } int g() { return 32; } }
struct C33 : IFace { float f(float x) { return x * 7.0 + 33.0; } int g() { return 33; } }
struct C34 : IFace { float f(float x) { return x * 8.0 + 34.0; } int g() { return 34; } }
struct C35 : IFace { float f(float x) { return x * 9.0 + 35.0; } int g() { return 35; } }
struct C36 : IFace { float f(float x) { return x * 1.0 + 36.0; } int g() { return 36; } }
// … 523 lines omitted …
struct C560 : IFace { float f(float x) { return x * 3.0 + 560.0; } int g() { return 560; } }
struct C561 : IFace { float f(float x) { return x * 4.0 + 561.0; } int g() { return 561; } }
struct C562 : IFace { float f(float x) { return x * 5.0 + 562.0; } int g() { return 562; } }
struct C563 : IFace { float f(float x) { return x * 6.0 + 563.0; } int g() { return 563; } }
struct C564 : IFace { float f(float x) { return x * 7.0 + 564.0; } int g() { return 564; } }
struct C565 : IFace { float f(float x) { return x * 8.0 + 565.0; } int g() { return 565; } }
struct C566 : IFace { float f(float x) { return x * 9.0 + 566.0; } int g() { return 566; } }
struct C567 : IFace { float f(float x) { return x * 1.0 + 567.0; } int g() { return 567; } }
struct C568 : IFace { float f(float x) { return x * 2.0 + 568.0; } int g() { return 568; } }
struct C569 : IFace { float f(float x) { return x * 3.0 + 569.0; } int g() { return 569; } }
struct C570 : IFace { float f(float x) { return x * 4.0 + 570.0; } int g() { return 570; } }
struct C571 : IFace { float f(float x) { return x * 5.0 + 571.0; } int g() { return 571; } }
struct C572 : IFace { float f(float x) { return x * 6.0 + 572.0; } int g() { return 572; } }
struct C573 : IFace { float f(float x) { return x * 7.0 + 573.0; } int g() { return 573; } }
struct C574 : IFace { float f(float x) { return x * 8.0 + 574.0; } int g() { return 574; } }
struct C575 : IFace { float f(float x) { return x * 9.0 + 575.0; } int g() { return 575; } }
struct C576 : IFace { float f(float x) { return x * 1.0 + 576.0; } int g() { return 576; } }
struct C577 : IFace { float f(float x) { return x * 2.0 + 577.0; } int g() { return 577; } }
struct C578 : IFace { float f(float x) { return x * 3.0 + 578.0; } int g() { return 578; } }
struct C579 : IFace { float f(float x) { return x * 4.0 + 579.0; } int g() { return 579; } }
struct C580 : IFace { float f(float x) { return x * 5.0 + 580.0; } int g() { return 580; } }
struct C581 : IFace { float f(float x) { return x * 6.0 + 581.0; } int g() { return 581; } }
struct C582 : IFace { float f(float x) { return x * 7.0 + 582.0; } int g() { return 582; } }
struct C583 : IFace { float f(float x) { return x * 8.0 + 583.0; } int g() { return 583; } }
struct C584 : IFace { float f(float x) { return x * 9.0 + 584.0; } int g() { return 584; } }
struct C585 : IFace { float f(float x) { return x * 1.0 + 585.0; } int g() { return 585; } }
struct C586 : IFace { float f(float x) { return x * 2.0 + 586.0; } int g() { return 586; } }
struct C587 : IFace { float f(float x) { return x * 3.0 + 587.0; } int g() { return 587; } }
struct C588 : IFace { float f(float x) { return x * 4.0 + 588.0; } int g() { return 588; } }
struct C589 : IFace { float f(float x) { return x * 5.0 + 589.0; } int g() { return 589; } }
struct C590 : IFace { float f(float x) { return x * 6.0 + 590.0; } int g() { return 590; } }
struct C591 : IFace { float f(float x) { return x * 7.0 + 591.0; } int g() { return 591; } }
struct C592 : IFace { float f(float x) { return x * 8.0 + 592.0; } int g() { return 592; } }
struct C593 : IFace { float f(float x) { return x * 9.0 + 593.0; } int g() { return 593; } }
struct C594 : IFace { float f(float x) { return x * 1.0 + 594.0; } int g() { return 594; } }
struct C595 : IFace { float f(float x) { return x * 2.0 + 595.0; } int g() { return 595; } }
struct C596 : IFace { float f(float x) { return x * 3.0 + 596.0; } int g() { return 596; } }
struct C597 : IFace { float f(float x) { return x * 4.0 + 597.0; } int g() { return 597; } }
struct C598 : IFace { float f(float x) { return x * 5.0 + 598.0; } int g() { return 598; } }
struct C599 : IFace { float f(float x) { return x * 6.0 + 599.0; } int g() { return 599; } }