biomejs
biome
BlogDocsChangelog

refactor(analyze/types): union static-member flattening

#8546
Comparing
Zaczero:zaczero/temporary-tortoise
(
58a37de
) with
main
(
6b09620
)
CodSpeed Performance Gauge
0%
Untouched
58
Ignored
2
Skipped
95

Benchmarks

Skipped (95)

Passed

compiler_3469143416596620219.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+3%
143.9 ms*140.1 ms
dojo_11880045762646467684.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+2%
7.8 ms*7.7 ms
math_5920422916221598348.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+2%
207.2 ms*203.7 ms
three.min_17199329737537001178.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+2%
135 ms*132.7 ms
js_formatter[react.production.min_3378072959512366797.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
+1%
6.9 ms*6.8 ms
react.production.min_3378072959512366797.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
+1%
1.8 ms*1.8 ms
js_formatter[parser_13571644119461115204.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
+1%
19.4 ms*19.3 ms
checker_6456328407951392140.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
247.4 ms*246.3 ms
parser_13571644119461115204.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
6.6 ms*6.5 ms
react.production.min_3378072959512366797.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
2 ms*2 ms
js_formatter[math_5920422916221598348.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
842.6 ms*840.5 ms
js_formatter[typescript_5583633924076080079.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
3.4 s*3.4 s
js_formatter[dojo_11880045762646467684.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
27.3 ms*27.3 ms
react-dom.production.min_7131952758041326366.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
34.2 ms*34.2 ms
js_formatter[d3.min_16009850199655599998.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
430.4 ms*429.9 ms
js_formatter[checker_6456328407951392140.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
902.7 ms*901.8 ms
js_formatter[pixi.min_8151088792683739606.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
470.1 ms*469.7 ms
js_formatter[three.min_17199329737537001178.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
572.1 ms*571.6 ms
parser_13571644119461115204.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
5.9 ms*5.9 ms
class_strings[extreme_stress]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
152 µs*152 µs
class_strings[stress]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
375.7 µs*375.7 µs
class_strings[simple_classes]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
20.2 µs*20.2 µs
class_strings[arbitrary_classes]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
33.2 µs*33.2 µs
class_strings[variant_classes]
crates/biome_js_analyze/benches/use_sorted_classes_parser.rs::use_sorted_classes_parser::bench_use_sorted_classes_parser::use_sorted_classes_parser
CodSpeed Performance Gauge
0%
37.4 µs*37.4 µs
vue.global.prod_4065256639735990520.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
41.5 ms*41.5 ms
vue.global.prod_4065256639735990520.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
44.8 ms*44.8 ms
js_analyzer[statement_263793315104667298.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
86.7 ms*86.8 ms
js_analyzer[index_3894593175024091846.js]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
60.3 ms*60.3 ms
js_formatter[vue.global.prod_4065256639735990520.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
172.1 ms*172.1 ms
js_analyzer[parser_13571644119461115204.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
102.2 ms*102.2 ms
js_formatter[router_17129688031671448157.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
6.5 ms*6.5 ms
jquery.min_16034160674129647344.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
25.8 ms*25.8 ms
js_analyzer[typescript_3735799142832611563.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
136.7 ms*136.8 ms
js_analyzer[router_17129688031671448157.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
27.8 ms*27.8 ms
js_analyzer[css_16118272471217147034.js]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
25.3 ms*25.3 ms
js_formatter[tex-chtml-full_561698452596513081.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
1.1 s*1.1 s
react-dom.production.min_7131952758041326366.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
36.9 ms*37 ms
tex-chtml-full_561698452596513081.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
271.1 ms*271.6 ms
js_analyzer[lint_13640784270757307929.ts]
crates/biome_js_analyze/benches/js_analyzer.rs::js_analyzer::bench_analyzer
CodSpeed Performance Gauge
0%
56.6 ms*56.7 ms
js_formatter[ios.d_12216376241674358710.d.ts]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
755.1 ms*756.7 ms
typescript_5583633924076080079.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
1 s*1 s
compiler_3469143416596620219.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
158.7 ms*159.1 ms
three.min_17199329737537001178.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
142.5 ms*142.9 ms
js_formatter[compiler_3469143416596620219.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
526.8 ms*528.4 ms
dojo_11880045762646467684.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
8.5 ms*8.5 ms
pixi.min_8151088792683739606.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
127.2 ms*127.6 ms
pixi.min_8151088792683739606.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
118.1 ms*118.6 ms
js_formatter[jquery.min_16034160674129647344.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
0%
114.2 ms*114.6 ms
tex-chtml-full_561698452596513081.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
0%
261 ms*262.3 ms
ios.d_12216376241674358710.d.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
271.9 ms*273.3 ms
jquery.min_16034160674129647344.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
27.3 ms*27.5 ms
ios.d_12216376241674358710.d.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
246.4 ms*248.4 ms
d3.min_16009850199655599998.js[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
110.9 ms*112.1 ms
checker_6456328407951392140.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
266.1 ms*269.2 ms
typescript_5583633924076080079.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-1%
916.1 ms*928.1 ms
math_5920422916221598348.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-2%
194.3 ms*197.5 ms
js_formatter[react-dom.production.min_7131952758041326366.js]
crates/biome_js_formatter/benches/js_formatter.rs::js_formatter::bench_js_formatter
CodSpeed Performance Gauge
-2%
133.8 ms*136.4 ms
d3.min_16009850199655599998.js[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
CodSpeed Performance Gauge
-3%
101.8 ms*105.1 ms

Ignored

router_17129688031671448157.ts[cached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
Ignored
CodSpeed Performance Gauge
+6%
2.1 ms*2 ms
router_17129688031671448157.ts[uncached]
crates/biome_js_parser/benches/js_parser.rs::js_parser::bench_parser::js_parser
Ignored
CodSpeed Performance Gauge
+1%
2.3 ms*2.3 ms

Commits

Click on a commit to change the comparison range
Base
main
6b09620
-0.17%
fix(analyze/types): union static-member flattening This patch tightens the behavior for TypeofExpression::StaticMember on unions: - If a union variant is unknown, propagate unknown into the result. - Resolve the member across union variants directly (no distribution into nested inferred expressions). - If a union variant is still an inferred expression type (TypeofExpression), refuse to flatten to avoid re-entering expression-based inference that can lead to runaway growth.
cdc136e
11 hours ago
by Zaczero
+0.11%
Merge branch 'main' into zaczero/temporary-tortoise
58a37de
6 hours ago
by ematipico
© 2025 CodSpeed Technology
Home Terms Privacy Docs