Skip to content

Commit

Permalink
fix(html/minifier): Fix bugs of the smart mode (#5093)
Browse files Browse the repository at this point in the history
alexander-akait authored Jul 5, 2022
1 parent 09d7f7a commit 5932a0a
Showing 52 changed files with 604 additions and 199 deletions.
512 changes: 332 additions & 180 deletions crates/swc_html_minifier/src/lib.rs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
<!doctype html><html lang=en><body>




<svg>
<!doctype html><html lang=en><svg>


</svg>
</svg>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><html lang=en><meta charset=UTF-8><title>Document</title><body><template ngfor #hero [ngforof]=heroes><hero-detail *ngif=hero [hero]=hero></hero-detail></template><form (ngsubmit)=onSubmit(theForm) #theform=ngForm><div class=form-group><label for=name>Name</label> <input class=form-control required ngcontrol=firstName [(ngmodel)]=currentHero.firstName></div><button [disabled]=!theForm.form.valid>Submit</button></form>
<!doctype html><html lang=en><meta charset=UTF-8><title>Document</title><body><template ngfor #hero [ngforof]=heroes> <hero-detail *ngif=hero [hero]=hero></hero-detail> </template><form (ngsubmit)=onSubmit(theForm) #theform=ngForm><div class=form-group><label for=name>Name</label> <input class=form-control required ngcontrol=firstName [(ngmodel)]=currentHero.firstName></div><button [disabled]=!theForm.form.valid>Submit</button></form>
Original file line number Diff line number Diff line change
@@ -432,5 +432,14 @@
</style>
</svg>

<div>
<span>test</span> a <!-- test -->b <span>test</span>
<span>test</span> a<!-- test --> b <span>test</span>
<span>test</span> a <!-- test --> b <span>test</span>
</div>

<div><foo-bar> <span>test</span> </foo-bar> <foo-bar> <span>test</span> </foo-bar></div>
<div><svg> <linearGradient id=gradient /> </svg> <span>a</span></div>

</body>
</html>
Original file line number Diff line number Diff line change
@@ -21,12 +21,12 @@
Foo


</textarea><div><div>Text</div></div><unknown><div>Text</div></unknown><div></div><svg version=1.1 viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice" style=width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1> <linearGradient id=gradient><stop class=begin offset=0% /><stop class=end offset=100% /></linearGradient><rect x=0 y=0 width=100 height=100 style=fill:url(#gradient) /> <circle cx=50 cy=50 r=30 style=fill:url(#gradient) /> </svg><svg viewBox="0 0 100 100"> <a href=/docs/Web/SVG/Element/circle><circle cx=50 cy=40 r=35 /> </a> <a href=/docs/Web/SVG/Element/text><text x=50 y=90 text-anchor=middle>&lt;circle> </text></a></svg><script data-test=test></script> <script>console.log("test")</script><xmp>
</textarea><div><div>Text</div></div><unknown><div>Text</div></unknown><div></div><svg version=1.1 viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice" style=width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1> <linearGradient id=gradient><stop class=begin offset=0% /><stop class=end offset=100% /></linearGradient><rect x=0 y=0 width=100 height=100 style=fill:url(#gradient) /> <circle cx=50 cy=50 r=30 style=fill:url(#gradient) /> </svg><svg viewBox="0 0 100 100"> <a href=/docs/Web/SVG/Element/circle><circle cx=50 cy=40 r=35 /> </a><a href=/docs/Web/SVG/Element/text><text x=50 y=90 text-anchor=middle>&lt;circle></text></a></svg><script data-test=test></script><script>console.log("test")</script><xmp>

test

</xmp><div>foo <a>baz </a>bar foo <a>baz </a>bar foo <a>baz </a>bar</div><div>foo <a>baz </a>bar foo <a>baz </a>bar foo <a>baz </a>bar</div><div>foo <img src=https://prettier.io/icon.png></div><div>text <img src=https://colourlex.com/wp-content/uploads/2021/02/vine-black-painted-swatch.jpg alt=test> test</div><span>test<script>console.log("test")</script>test</span> <span>test <script>console.log("test")</script> test</span><div><p>blah</div><div>test <br> test</div><div>test <wbr> test</div><div>a <input> c</div><div><div>a</div><div>b</div></div><div><span> a </span><span>b</span></div><div><div>test</div><span>test</span></div><div><div>test</div><span>test</span></div><div><span>test</span><div>test</div></div><div><span>test</span> <span>test</span></div><div><div>test</div><div>test</div></div><div><span>test</span><p>test<p>test<p>test</div><div><p>test<p>test<p>test</p><span>test</span></div><div><a href=test> test </a><a href=test>test</a></div><div><a href=test>test</a><a href=test>test</a></div><div><p>blah</div><div>test <button>test</button></div><div><button>test</button> <button>test</button></div><div>foo <button>test</button> foo</div><div>foo<button>test</button>foo</div><div>foo <button>test</button>foo</div><div>foo<button>test</button> foo</div><div>foo<button>test</button>foo</div><div>foo <button>test</button>foo</div><div>foo<button>test</button> foo</div><div><span> foo </span></div><p>foo <img> bar<p>foo<img>bar<p>foo <img>bar<p>foo<img> bar<p>foo <wbr> bar<p>foo <br> bar<p>foo <nobr>a</nobr> bar<div> fo o </div><div> fo o </div><p><p>a b<div class=leaveAlone></div><div>foo bar</div><div class=leaveAlone><div></div><span> </span>foo bar</div><div class=leaveAlone><span> </span>foo bar</div><p>foo <span></span><p>foo<span></span><div>foo <button>test</button> foo</div><div>foo <button>test</button> foo <button>test</button> foo</div><div>foo <span>foo</span> foo</div><div>foo<span> foo</span>foo</div><div><span>a </span>b<span> c</span></div><div><span>a </span>b <span>c</span></div><div><span>a </span>b <span>c</span></div><div>foo <span>baz</span></div><div>foo <span>baz</span></div><div>foo<span> baz</span></div><div>foo<span>baz</span></div><span>test </span><span><span><span><span>foo <span>baz</span></span></span></span></span> <span><span><span><span>foo <span>baz</span></span></span></span></span><span>test </span><div>test</div><span><span><span><span>foo <span>baz</span></span></span></span></span> <span><span><span><span>foo <span>baz</span></span></span></span></span><div>test</div><div><div></div></div><pre>
</xmp><div>foo <a>baz </a>bar foo <a>baz </a>bar foo <a>baz </a>bar</div><div>foo <a>baz </a>bar foo <a>baz </a>bar foo <a>baz </a>bar</div><div>foo <img src=https://prettier.io/icon.png></div><div>text <img src=https://colourlex.com/wp-content/uploads/2021/02/vine-black-painted-swatch.jpg alt=test> test</div><span>test<script>console.log("test")</script>test</span> <span>test<script>console.log("test")</script> test</span><div><p>blah</div><div>test <br> test</div><div>test <wbr> test</div><div>a <input> c</div><div><div>a</div><div>b</div></div><div><span> a </span><span>b</span></div><div><div>test</div><span>test</span></div><div><div>test</div><span>test</span></div><div><span>test</span><div>test</div></div><div><span>test</span> <span>test</span></div><div><div>test</div><div>test</div></div><div><span>test</span><p>test<p>test<p>test</div><div><p>test<p>test<p>test</p><span>test</span></div><div><a href=test> test </a><a href=test>test</a></div><div><a href=test>test</a><a href=test>test</a></div><div><p>blah</div><div>test <button>test</button></div><div><button>test</button> <button>test</button></div><div>foo <button>test</button> foo</div><div>foo<button>test</button>foo</div><div>foo <button>test</button>foo</div><div>foo<button>test</button> foo</div><div>foo<button>test</button>foo</div><div>foo <button>test</button>foo</div><div>foo<button>test</button> foo</div><div><span> foo </span></div><p>foo <img> bar<p>foo<img>bar<p>foo <img>bar<p>foo<img> bar<p>foo <wbr> bar<p>foo <br> bar<p>foo <nobr>a</nobr> bar<div> fo o </div><div> fo o </div><p><p>a b<div class=leaveAlone></div><div>foo bar</div><div class=leaveAlone><div></div><span> </span>foo bar</div><div class=leaveAlone><span> </span>foo bar</div><p>foo <span></span><p>foo<span></span><div>foo <button>test</button> foo</div><div>foo <button>test</button> foo <button>test</button> foo</div><div>foo <span>foo</span> foo</div><div>foo<span> foo</span>foo</div><div><span>a </span>b<span> c</span></div><div><span>a </span>b <span>c</span></div><div><span>a </span>b <span>c</span></div><div>foo <span>baz</span></div><div>foo <span>baz</span></div><div>foo<span> baz</span></div><div>foo<span>baz</span></div><span>test </span><span><span><span><span>foo <span>baz</span></span></span></span></span> <span><span><span><span>foo <span>baz</span></span></span></span></span><span>test </span><div>test</div><span><span><span><span>foo <span>baz</span></span></span></span></span> <span><span><span><span>foo <span>baz</span></span></span></span></span><div>test</div><div><div></div></div><pre>
foo

baz
</pre><div>a <input> c</div><div>Empty</div><!--[if lte IE 6]> <span>A</span> <span title=" sigificant whitespace ">blah blah</span><![endif]--><div><a href=#> <span><b>foo </b><i> bar </i></span></a></div><div>a b</div><div>a b c d</div><div>text</div><span> text </span><span> text </span><div><span>test</span><span>test</span></div><div><span>test</span> <command>test</command> <span>test</span></div><div><span>test</span><link rel=stylesheet href=""><span>test</span></div><div><span>test</span><meta name=content><span>test</span></div><div><span>test</span> <script>console.log("test")</script> <span>test</span></div><div><span>test</span><style>a{color:red}</style><span>test</span></div><div><span>test</span><title>test</title><span>test</span></div><div><meta name=test><meta name=test></div><div><link rel=stylesheet href=""><link rel=stylesheet href=""></div><div><script>console.log("test")</script> <script>console.log("test")</script></div><div><script>console.log("test")</script> <span>test</span> <script>console.log("test")</script></div><div><style>a{color:red}</style><style>a{color:red}</style></div><div><script>console.log("test")</script><style>a{color:red}</style></div><div><span itemscope><meta itemprop=name content="The Castle">test</span> <span>test</span></div><div><meta name=test></div><div><style>a{color:red}</style></div><div><meta name=test><div>test</div><meta name=test></div><div><meta name=test><span>test</span><meta name=test></div><svg> <title>test</title> <metadata>test</metadata> <desc>test</desc> </svg><svg> <a>test</a> <a>test</a> </svg><svg> <text x=20 y=35><tspan font-weight=bold fill=red>This is bold and red</tspan> <tspan font-weight=bold fill=red>This is bold and red</tspan> </text></svg><svg> <tspan>test</tspan> <foreignObject>test</foreignObject> </svg><svg> <text x=20 y=35><tspan font-weight=bold fill=red>This is bold and red</tspan> <tspan font-weight=bold fill=red>This is bold and red</tspan> </text></svg><svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice" style=width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1> <linearGradient id=gradient><stop class=begin offset=0% /><stop class=end offset=100% /></linearGradient><rect x=0 y=0 width=100 height=100 style=fill:url(#gradient) /> <circle cx=50 cy=50 r=30 style=fill:url(#gradient) /> </svg><svg> <script>console.log("test")</script></svg><svg><style>a{color:red}</style></svg>
</pre><div>a <input> c</div><div>Empty</div><!--[if lte IE 6]> <span>A</span> <span title=" sigificant whitespace ">blah blah</span> <![endif]--><div><a href=#> <span><b>foo </b><i> bar </i></span></a></div><div>a b</div><div>a b c d</div><div>text</div><span> text </span><span> text </span><div><span>test</span> <span>test</span></div><div><span>test</span> <command>test</command><span>test</span></div><div><span>test</span><link rel=stylesheet href=""> <span>test</span></div><div><span>test</span><meta name=content> <span>test</span></div><div><span>test</span><script>console.log("test")</script> <span>test</span></div><div><span>test</span><style>a{color:red}</style> <span>test</span></div><div><span>test</span><title>test</title> <span>test</span></div><div><meta name=test><meta name=test></div><div><link rel=stylesheet href=""><link rel=stylesheet href=""></div><div><script>console.log("test")</script><script>console.log("test")</script></div><div><script>console.log("test")</script> <span>test</span><script>console.log("test")</script></div><div><style>a{color:red}</style><style>a{color:red}</style></div><div><script>console.log("test")</script><style>a{color:red}</style></div><div><span itemscope><meta itemprop=name content="The Castle">test</span> <span>test</span></div><div><meta name=test></div><div><style>a{color:red}</style></div><div><meta name=test><div>test</div><meta name=test></div><div><meta name=test> <span>test</span><meta name=test></div><svg> <title>test</title> <metadata>test</metadata> <desc>test</desc> </svg><svg> <a>test</a> <a>test</a> </svg><svg><text x=20 y=35><tspan font-weight=bold fill=red>This is bold and red</tspan> <tspan font-weight=bold fill=red>This is bold and red</tspan></text></svg><svg> <tspan>test</tspan><foreignObject>test</foreignObject></svg><svg><text x=20 y=35><tspan font-weight=bold fill=red>This is bold and red</tspan> <tspan font-weight=bold fill=red>This is bold and red</tspan></text></svg><svg viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice" style=width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1> <linearGradient id=gradient><stop class=begin offset=0% /><stop class=end offset=100% /></linearGradient><rect x=0 y=0 width=100 height=100 style=fill:url(#gradient) /> <circle cx=50 cy=50 r=30 style=fill:url(#gradient) /> </svg><svg> <script>console.log("test")</script></svg><svg> <style>a{color:red}</style></svg><div><span>test</span> a b <span>test</span> <span>test</span> a b <span>test</span> <span>test</span> a b <span>test</span></div><div><foo-bar> <span>test</span> </foo-bar> <foo-bar> <span>test</span> </foo-bar></div><div><svg> <linearGradient id=gradient /> </svg><span>a</span></div>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><html lang=en><div><a href=#><span><b>foo</b>z <i>bar</i></span></a></div>
<!doctype html><html lang=en><div><a href=#><span><b>foo </b>z <i>bar</i></span></a></div>
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
<!doctype html>
<html lang="en">
<span> <!-- test --> text <!-- test --></span> <span> <!-- test --> text <!-- test --></span>
<span> <!-- test --> text <!-- test --></span> <span><!-- test --> text <!-- test --></span>
<span> <!-- test --> text <!-- test --> </span> <span><!-- test --> text <!-- test --></span>
<span> <!-- test --> text <!-- test --></span> <span> <!-- test --> text <!-- test --></span>
<span> <!-- test --> text <!-- test --> </span> <span> <!-- test --> text <!-- test --></span>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><html lang=en><span>text</span> <span>text</span>
<!doctype html><html lang=en><span>text </span><span> text </span><span> text </span><span> text </span><span> text </span><span> text </span><span> text </span><span> text</span>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!doctype html><svg><linearGradient id=gradient /></svg><span>a</span>
<!doctype html><svg><linearGradient id=gradient /> </svg><span>a</span>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"collapseWhitespaces": "smart"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html>
<html lang="en">
<span> <span><!-- test --> text <!-- test --> </span></span> <span><span> <!-- test --> text <!-- test --></span> </span>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang=en><span><span>text </span></span><span><span> text</span></span>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"collapseWhitespaces": "smart"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html>
<html lang="en">
<span> <div><!-- test --> text <!-- test --> </div></span> <span><div> <!-- test --> text <!-- test --></div> </span>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang=en><span><div>text</div></span><span><div>text</div></span>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"collapseWhitespaces": "smart"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html>
<html lang="en">
<span> <span><!-- test --> text <!-- test --> </span><meta name="test"><!-- test --></span> <span><!-- test --><meta name="test"><span> <!-- test --> text <!-- test --></span> </span>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang=en><span><span>text </span><meta name=test></span><span><meta name=test><span> text</span></span>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"collapseWhitespaces": "smart"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html>
<html lang="en">
<foo-bar><span>test</span> a </foo-bar> b <foo-bar> c <span> test</span></foo-bar>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang=en><foo-bar><span>test</span> a </foo-bar> b <foo-bar> c <span>test</span></foo-bar>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"collapseWhitespaces": "smart"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html>
<html lang="en">
<foo-bar> <span>test</span> </foo-bar> <foo-bar> <span>test</span> </foo-bar>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><html lang=en><foo-bar><span>test</span> </foo-bar> <foo-bar> <span>test</span></foo-bar>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"collapseWhitespaces": "smart"
}
18 changes: 18 additions & 0 deletions crates/swc_html_minifier/tests/fixture/text/none-1/input.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!doctype html>
<div><span>test</span> <meta name="test"> <span>test</span></div>
<div><span>test</span> a <meta name="test"> <span>test</span></div>
<div><span>test</span> <meta name="test"> b <span>test</span></div>
<div><span>test</span> a <meta name="test"> b <span>test</span></div>
<div> <meta name="test"> <span>test</span> <meta name="test"> <span>test</span> <meta name="test"> </div>
<div> <span>test</span> <meta name="test"><meta name="test"><meta name="test"> <span>test</span> </div>
<div> <span>test</span> <meta name="test"> <meta name="test"> <meta name="test"> <span>test</span> </div>
<div><span>test</span> <template></template> <span>test</span></div>
<div><div>test</div> <meta name="test"> <div>test</div></div>
<div><img src="" alt=""> <meta name="test"> <img src="" alt=""></div>
<div><meta name="test"> <span>test</span> <meta name="test"></div>
<div><span>test</span> a<meta name="test"> b <span>test</span></div>
<div><span>test</span> a <meta name="test">b <span>test</span></div>
<div><span>test</span> a <meta name="test"> b <span>test</span></div>
<div><span>test</span> a<meta name="test">b <span>test</span></div>
<div> <meta name="test"> <span>test</span> <meta name="test"> <span>test</span> <meta name="test"> </div>
<div><span>test </span> a <meta name="test"> b <span>test</span></div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!doctype html><div><span>test</span><meta name=test> <span>test</span></div><div><span>test</span> a<meta name=test> <span>test</span></div><div><span>test</span><meta name=test> b <span>test</span></div><div><span>test</span> a<meta name=test> b <span>test</span></div><div><meta name=test> <span>test</span><meta name=test> <span>test</span><meta name=test></div><div><span>test</span><meta name=test><meta name=test><meta name=test> <span>test</span></div><div><span>test</span><meta name=test><meta name=test><meta name=test> <span>test</span></div><div><span>test</span><template></template> <span>test</span></div><div><div>test</div><meta name=test><div>test</div></div><div><img src="" alt=""><meta name=test> <img src="" alt=""></div><div><meta name=test> <span>test</span><meta name=test></div><div><span>test</span> a<meta name=test> b <span>test</span></div><div><span>test</span> a <meta name=test>b <span>test</span></div><div><span>test</span> a<meta name=test> b <span>test</span></div><div><span>test</span> a<meta name=test>b <span>test</span></div><div><meta name=test> <span>test</span><meta name=test> <span>test</span><meta name=test></div><div><span>test </span>a<meta name=test> b <span>test</span></div>
Loading

1 comment on commit 5932a0a

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 5932a0a Previous: c531e67 Ratio
es/full/minify/libraries/antd 1640223769 ns/iter (± 19090376) 1672297291 ns/iter (± 23267255) 0.98
es/full/minify/libraries/d3 416789414 ns/iter (± 8815216) 445397106 ns/iter (± 9566303) 0.94
es/full/minify/libraries/echarts 1646512096 ns/iter (± 41099415) 1693736239 ns/iter (± 38959138) 0.97
es/full/minify/libraries/jquery 93324118 ns/iter (± 2689501) 97445675 ns/iter (± 4879947) 0.96
es/full/minify/libraries/lodash 120483246 ns/iter (± 2359613) 127648707 ns/iter (± 6755042) 0.94
es/full/minify/libraries/moment 52609502 ns/iter (± 487832) 54838944 ns/iter (± 2469135) 0.96
es/full/minify/libraries/react 17393466 ns/iter (± 86020) 18999616 ns/iter (± 488791) 0.92
es/full/minify/libraries/terser 601409184 ns/iter (± 9059358) 623871726 ns/iter (± 6318008) 0.96
es/full/minify/libraries/three 544108895 ns/iter (± 5272706) 571863326 ns/iter (± 13688275) 0.95
es/full/minify/libraries/typescript 3444394769 ns/iter (± 89926496) 3530223284 ns/iter (± 51565396) 0.98
es/full/minify/libraries/victory 731924452 ns/iter (± 14191426) 739288745 ns/iter (± 21177138) 0.99
es/full/minify/libraries/vue 147051025 ns/iter (± 11727283) 161084777 ns/iter (± 6128410) 0.91
es/full/codegen/es3 31695 ns/iter (± 895) 30877 ns/iter (± 754) 1.03
es/full/codegen/es5 31911 ns/iter (± 1664) 30906 ns/iter (± 867) 1.03
es/full/codegen/es2015 31728 ns/iter (± 738) 30874 ns/iter (± 1025) 1.03
es/full/codegen/es2016 31520 ns/iter (± 1248) 30845 ns/iter (± 482) 1.02
es/full/codegen/es2017 31304 ns/iter (± 1023) 30968 ns/iter (± 541) 1.01
es/full/codegen/es2018 31237 ns/iter (± 758) 30860 ns/iter (± 389) 1.01
es/full/codegen/es2019 31200 ns/iter (± 853) 30971 ns/iter (± 296) 1.01
es/full/codegen/es2020 31416 ns/iter (± 1361) 30949 ns/iter (± 433) 1.02
es/full/all/es3 200384737 ns/iter (± 14616052) 207212073 ns/iter (± 13336605) 0.97
es/full/all/es5 185733382 ns/iter (± 10424065) 183218064 ns/iter (± 10863328) 1.01
es/full/all/es2015 154136607 ns/iter (± 9016202) 147884106 ns/iter (± 7444381) 1.04
es/full/all/es2016 151081432 ns/iter (± 7866636) 153115061 ns/iter (± 12288832) 0.99
es/full/all/es2017 155425260 ns/iter (± 8982686) 153898093 ns/iter (± 8911749) 1.01
es/full/all/es2018 147995556 ns/iter (± 7685094) 146330968 ns/iter (± 8550518) 1.01
es/full/all/es2019 145051661 ns/iter (± 6256725) 150378700 ns/iter (± 9408305) 0.96
es/full/all/es2020 135909805 ns/iter (± 8580548) 141467280 ns/iter (± 9412864) 0.96
es/full/parser 714619 ns/iter (± 23507) 709288 ns/iter (± 21974) 1.01
es/full/base/fixer 29474 ns/iter (± 1201) 28939 ns/iter (± 933) 1.02
es/full/base/resolver_and_hygiene 88210 ns/iter (± 1721) 88728 ns/iter (± 2335) 0.99
serialization of ast node 222 ns/iter (± 3) 227 ns/iter (± 2) 0.98
serialization of serde 228 ns/iter (± 4) 228 ns/iter (± 2) 1

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.