← 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).