← overview

Compiler microbenchmarks — across releases

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

Official release binaries — minor releases, plus patch releases from v2026.13 on — re-measured on the current perf runner. Click a workload name for its full sub-counter breakdown.

Compiler microbenchmarks — across releases (median ms) mdl_dxr 0.70× 0.0 1076 2152 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 mdl_dxr — frontEndExecute mdl_dxr — generateOutput mdl_dxr — compileInner (self) complexity_ladder 0.73× 0.0 214 428 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 complexity_ladder — frontEndExecute complexity_ladder — generateOutput complexity_ladder — compileInner (self) minimal 1.79× 0.0 20 41 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 minimal — frontEndExecute minimal — generateOutput minimal — compileInner (self) parse 0.14× 0.0 1081 2161 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 parse — frontEndExecute parse — generateOutput parse — compileInner (self) diagnostics_clean 0.74× 0.0 45 90 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 diagnostics_clean — frontEndExecute diagnostics_clean — generateOutput diagnostics_clean — compileInner (self) sema_generics 0.97× 0.0 628 1256 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 sema_generics — frontEndExecute sema_generics — generateOutput sema_generics — compileInner (self) generic_nesting 0.03× 0.0 57 114 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 generic_nesting — frontEndExecute generic_nesting — generateOutput generic_nesting — compileInner (self) generic_nesting_eval 0.21× 0.0 86 173 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 generic_nesting_eval — frontEndExecute generic_nesting_eval — generateOutput generic_nesting_eval — compileInner (self) interface_depth 4.66× 0.0 29 58 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 interface_depth — frontEndExecute interface_depth — generateOutput interface_depth — compileInner (self) conformance 0.68× 0.0 50 99 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 conformance — frontEndExecute conformance — generateOutput conformance — compileInner (self) operator_typecheck 0.27× 0.0 337 674 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 operator_typecheck — frontEndExecute operator_typecheck — generateOutput operator_typecheck — compileInner (self) implicit_conversion 0.67× 0.0 96 192 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 implicit_conversion — frontEndExecute implicit_conversion — generateOutput implicit_conversion — compileInner (self) overload_resolution 0.94× 0.0 32 63 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 overload_resolution — frontEndExecute overload_resolution — generateOutput overload_resolution — compileInner (self) ir_builder 0.01× 0.0 2550 5099 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 ir_builder — frontEndExecute ir_builder — generateOutput ir_builder — compileInner (self) serialize 0.46× 0.0 128 256 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 serialize — frontEndExecute serialize — generateOutput serialize — compileInner (self) module_link 1.36× 0.0 83 166 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 module_link — frontEndExecute module_link — generateOutput module_link — compileInner (self) specialization 0.48× 0.0 200 399 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 specialization — frontEndExecute specialization — generateOutput specialization — compileInner (self) dynamic_dispatch 0.60× 0.0 270 540 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 dynamic_dispatch — frontEndExecute dynamic_dispatch — generateOutput dynamic_dispatch — compileInner (self) existential_aggregate 0.81× 0.0 145 290 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 existential_aggregate — frontEndExecute existential_aggregate — generateOutput existential_aggregate — compileInner (self) autodiff 0.71× 0.0 2499 4998 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 autodiff — frontEndExecute autodiff — generateOutput autodiff — compileInner (self) inlining 1.07× 0.0 333 667 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 inlining — frontEndExecute inlining — generateOutput inlining — compileInner (self) loop_unroll 0.23× 0.0 513 1026 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 loop_unroll — frontEndExecute loop_unroll — generateOutput loop_unroll — compileInner (self) control_flow_ssa 0.78× 0.0 182 363 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 control_flow_ssa — frontEndExecute control_flow_ssa — generateOutput control_flow_ssa — compileInner (self) resource_aggregate 0.78× 0.0 72 144 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 resource_aggregate — frontEndExecute resource_aggregate — generateOutput resource_aggregate — compileInner (self) reflection_layout 0.65× 0.0 179 357 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 reflection_layout — frontEndExecute reflection_layout — generateOutput reflection_layout — compileInner (self) codegen_spirv 0.05× 0.0 1328 2656 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 codegen_spirv — frontEndExecute codegen_spirv — generateOutput codegen_spirv — compileInner (self) emit_metal 0.04× 0.0 1573 3147 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 emit_metal — frontEndExecute emit_metal — generateOutput emit_metal — compileInner (self) emit_wgsl 0.06× 0.0 1005 2010 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 emit_wgsl — frontEndExecute emit_wgsl — generateOutput emit_wgsl — compileInner (self) emit_hlsl 0.06× 0.0 966 1932 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 emit_hlsl — frontEndExecute emit_hlsl — generateOutput emit_hlsl — compileInner (self) emit_glsl 0.06× 0.0 960 1919 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 emit_glsl — frontEndExecute emit_glsl — generateOutput emit_glsl — compileInner (self) emit_cuda 0.12× 0.0 513 1027 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 emit_cuda — frontEndExecute emit_cuda — generateOutput emit_cuda — compileInner (self) codegen_dxil 0.0 0.5 1.1 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 codegen_ptx 0.0 0.5 1.1 25.12 25.13 25.14 25.15 25.16 25.17 25.18 25.19 25.20 25.21 25.22 25.23 25.24 26.1 26.2 26.3 26.4 26.5 26.7 26.8 26.9 26.10 26.11 26.12 26.13 26.13.1 26.14 26.14.1 26.16 26.16.1 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).