← overview

Compiler microbenchmarks — daily tip-of-tree

33 workloads · stacked phases, top edge = compileInner (median ms)

Runner-built master HEAD, one point per calendar day, trailing 30 points. Click a workload name for its full sub-counter breakdown.

Top movers over the daily window (2026-07-30 → 2026-08-29)

Largest daily change in the window: 2026-08-04 → 2026-08-05 (0864e60e6..ff45b15ed), -21.6%.

benchmarkstart (ms)end (ms)change
codegen_spirv329.4103.0-68.7%
emit_hlsl287.298.0-65.9%
emit_wgsl291.8101.4-65.2%
emit_glsl293.5102.3-65.1%
emit_metal300.7105.2-65.0%
emit_cuda237.2106.8-55.0%
codegen_dxil366.1173.2-52.7%
codegen_ptx398.1218.7-45.1%
loop_unroll270.2216.8-19.7%
specialization123.7103.4-16.5%
Compiler microbenchmarks — daily tip-of-tree (median ms) mdl_dxr 0.96× 0.0 570 1140 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 mdl_dxr — frontEndExecute mdl_dxr — generateOutput mdl_dxr — compileInner (self) complexity_ladder 0.92× 0.0 104 208 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 complexity_ladder — frontEndExecute complexity_ladder — generateOutput complexity_ladder — compileInner (self) minimal 1.04× 0.0 5.6 11 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 minimal — frontEndExecute minimal — generateOutput minimal — compileInner (self) parse 1.00× 0.0 167 334 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 parse — frontEndExecute parse — generateOutput parse — compileInner (self) diagnostics_clean 1.00× 0.0 13 25 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 diagnostics_clean — frontEndExecute diagnostics_clean — generateOutput diagnostics_clean — compileInner (self) sema_generics 0.96× 0.0 479 959 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 sema_generics — frontEndExecute sema_generics — generateOutput sema_generics — compileInner (self) generic_nesting 1.00× 0.0 1.6 3.3 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 generic_nesting — frontEndExecute generic_nesting — generateOutput generic_nesting — compileInner (self) generic_nesting_eval 0.99× 0.0 2.5 4.9 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 generic_nesting_eval — frontEndExecute generic_nesting_eval — generateOutput generic_nesting_eval — compileInner (self) interface_depth 1.00× 0.0 26 53 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 interface_depth — frontEndExecute interface_depth — generateOutput interface_depth — compileInner (self) conformance 1.00× 0.0 28 56 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 conformance — frontEndExecute conformance — generateOutput conformance — compileInner (self) operator_typecheck 1.02× 0.0 90 181 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 operator_typecheck — frontEndExecute operator_typecheck — generateOutput operator_typecheck — compileInner (self) implicit_conversion 1.00× 0.0 67 134 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 implicit_conversion — frontEndExecute implicit_conversion — generateOutput implicit_conversion — compileInner (self) overload_resolution 1.01× 0.0 20 39 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 overload_resolution — frontEndExecute overload_resolution — generateOutput overload_resolution — compileInner (self) ir_builder 0.95× 0.0 32 64 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 ir_builder — frontEndExecute ir_builder — generateOutput ir_builder — compileInner (self) serialize 0.99× 0.0 63 127 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 serialize — frontEndExecute serialize — generateOutput serialize — compileInner (self) module_link 0.97× 0.0 49 98 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 module_link — frontEndExecute module_link — generateOutput module_link — compileInner (self) specialization 0.84× 0.0 68 137 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 specialization — frontEndExecute specialization — generateOutput specialization — compileInner (self) dynamic_dispatch 0.96× 0.0 66 132 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 dynamic_dispatch — frontEndExecute dynamic_dispatch — generateOutput dynamic_dispatch — compileInner (self) existential_aggregate 0.97× 0.0 44 88 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 existential_aggregate — frontEndExecute existential_aggregate — generateOutput existential_aggregate — compileInner (self) autodiff 0.96× 0.0 430 859 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 autodiff — frontEndExecute autodiff — generateOutput autodiff — compileInner (self) inlining 0.99× 0.0 47 93 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 inlining — frontEndExecute inlining — generateOutput inlining — compileInner (self) loop_unroll 0.80× 0.0 150 300 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 loop_unroll — frontEndExecute loop_unroll — generateOutput loop_unroll — compileInner (self) control_flow_ssa 0.97× 0.0 103 205 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 control_flow_ssa — frontEndExecute control_flow_ssa — generateOutput control_flow_ssa — compileInner (self) resource_aggregate 0.95× 0.0 25 50 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 resource_aggregate — frontEndExecute resource_aggregate — generateOutput resource_aggregate — compileInner (self) reflection_layout 0.94× 0.0 108 216 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 reflection_layout — frontEndExecute reflection_layout — generateOutput reflection_layout — compileInner (self) codegen_spirv 0.31× 0.0 182 364 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 codegen_spirv — frontEndExecute codegen_spirv — generateOutput codegen_spirv — compileInner (self) emit_metal 0.35× 0.0 164 327 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 emit_metal — frontEndExecute emit_metal — generateOutput emit_metal — compileInner (self) emit_wgsl 0.35× 0.0 162 323 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 emit_wgsl — frontEndExecute emit_wgsl — generateOutput emit_wgsl — compileInner (self) emit_hlsl 0.34× 0.0 160 319 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 emit_hlsl — frontEndExecute emit_hlsl — generateOutput emit_hlsl — compileInner (self) emit_glsl 0.35× 0.0 164 328 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 emit_glsl — frontEndExecute emit_glsl — generateOutput emit_glsl — compileInner (self) emit_cuda 0.45× 0.0 131 263 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 emit_cuda — frontEndExecute emit_cuda — generateOutput emit_cuda — compileInner (self) codegen_dxil 0.47× 0.0 202 404 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 codegen_dxil — frontEndExecute codegen_dxil — generateOutput codegen_dxil — compileInner (self) codegen_ptx 0.55× 0.0 217 435 07-30 07-31 08-01 08-02 08-03 08-04 08-05 08-06 08-07 08-08 08-09 08-10 08-11 08-12 08-13 08-14 08-15 08-15 08-18 08-19 08-20 08-21 08-22 08-23 08-24 08-25 08-26 08-27 08-28 08-29 codegen_ptx — frontEndExecute codegen_ptx — generateOutput codegen_ptx — compileInner (self) phase buckets frontEndExecute generateOutput compileInner (self)
Methodology: release points are the OFFICIAL prebuilt binaries, re-measured on the perf runner; daily tip-of-tree points are built on the runner with release-matched flags but a different MSVC toolset. Each page's points share one build provenance; absolute times are NOT comparable between the release and ToT pages (a uniform few-% offset, and more on individual hot loops).