Skip to content

Commit

Permalink
test(es/decorators): Split decorator-tests (#9119)
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 authored Jul 2, 2024
1 parent f8a33e3 commit 07c3054
Show file tree
Hide file tree
Showing 148 changed files with 4,308 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import typescript from 'typescript'
import fs from 'fs'
import module from 'module'

const require = module.createRequire(import.meta.url)
const ts = fs.readFileSync('./tests/decorator-tests/decorator-tests.ts', 'utf8')

// Convert TypeScript to JavaScript for testing JavaScript VMs
console.log('Converting TypeScript to JavaScript...')

const program = typescript.createProgram({
rootNames: ['./tests/decorator-tests/decorator-tests.ts'],
options: { target: typescript.ScriptTarget.ESNext }
});
// console.log('program', program)
const mainFile = program.getSourceFile('./tests/decorator-tests/decorator-tests.ts')
// console.log('mainFile', mainFile)

const testVarStmt = mainFile.statements.find((s) => s.kind === typescript.SyntaxKind.VariableStatement)
// console.log('testVarStmt', testVarStmt)

const testVarDecl = testVarStmt.declarationList.declarations[0]
// console.log('testVarDecl', testVarDecl)

const properties = testVarDecl.initializer.properties
// console.log('properties', properties)

fs.rmdirSync(`tests/decorator-evanw-split`, { recursive: true });
fs.mkdirSync(`tests/decorator-evanw-split`, { recursive: true });

for (const property of properties) {
let name = property.name.getText(mainFile)
const value = property.initializer.getText(mainFile)

name = name.replace(/['\(\)"']+/g, '').replace(/[\:; ]+/g, '-')

// console.log('name', name)
// console.log('value', value)

const code = `(${value})()`;
const transpiiled = typescript.transpile(code, { target: typescript.ScriptTarget.ESNext })

fs.writeFileSync(`tests/decorator-evanw-split/${name}.js`, transpiiled)
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
(() => {
const dec = (key, getName, setName) => (target, ctx) => {
assertEq(() => typeof target.get, 'function');
assertEq(() => typeof target.set, 'function');
assertEq(() => target.get.name, getName);
assertEq(() => target.set.name, setName);
assertEq(() => ctx.kind, 'accessor');
assertEq(() => ctx.name, key);
assertEq(() => ctx.static, false);
assertEq(() => ctx.private, false);
assertEq(() => ctx.access.has({ [key]: false }), true);
assertEq(() => ctx.access.has({ bar: true }), false);
assertEq(() => ctx.access.get({ [key]: 123 }), 123);
assertEq(() => {
const obj = {};
ctx.access.set(obj, 123);
return obj[key];
}, 123);
};
const bar = Symbol('bar');
const baz = Symbol();
class Foo {
@dec('foo', 'get foo', 'set foo')
accessor foo = 0;
@dec(bar, 'get [bar]', 'set [bar]')
accessor [bar] = 0;
@dec(baz, 'get ', 'set ')
accessor [baz] = 0;
}
var obj = new Foo;
obj.foo = 321;
assertEq(() => obj.foo, 321);
obj[bar] = 4321;
assertEq(() => obj[bar], 4321);
obj[baz] = 54321;
assertEq(() => obj[baz], 54321);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
(() => {
let lateAsserts;
const dec = (target, ctx) => {
assertEq(() => typeof target.get, 'function');
assertEq(() => typeof target.set, 'function');
assertEq(() => target.get.name, 'get #foo');
assertEq(() => target.set.name, 'set #foo');
assertEq(() => ctx.kind, 'accessor');
assertEq(() => ctx.name, '#foo');
assertEq(() => ctx.static, false);
assertEq(() => ctx.private, true);
lateAsserts = () => {
assertEq(() => ctx.access.has(new Foo), true);
assertEq(() => ctx.access.has({}), false);
assertEq(() => ctx.access.get(new Foo), 0);
assertEq(() => {
const obj = new Foo;
ctx.access.set(obj, 123);
return get$foo(obj);
}, 123);
};
};
let get$foo;
let set$foo;
class Foo {
@dec
accessor #foo = 0;
static {
get$foo = x => x.#foo;
set$foo = (x, y) => { x.#foo = y; };
}
}
lateAsserts();
var obj = new Foo;
assertEq(() => set$foo(obj, 321), undefined);
assertEq(() => get$foo(obj), 321);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
(() => {
let lateAsserts;
const dec = (target, ctx) => {
assertEq(() => typeof target.get, 'function');
assertEq(() => typeof target.set, 'function');
assertEq(() => target.get.name, 'get #foo');
assertEq(() => target.set.name, 'set #foo');
assertEq(() => ctx.kind, 'accessor');
assertEq(() => ctx.name, '#foo');
assertEq(() => ctx.static, true);
assertEq(() => ctx.private, true);
lateAsserts = () => {
assertEq(() => ctx.access.has(Foo), true);
assertEq(() => ctx.access.has({}), false);
assertEq(() => ctx.access.get(Foo), 0);
assertEq(() => {
ctx.access.set(Foo, 123);
return get$foo(Foo);
}, 123);
};
};
let get$foo;
let set$foo;
class Foo {
@dec
static accessor #foo = 0;
static {
get$foo = x => x.#foo;
set$foo = (x, y) => { x.#foo = y; };
}
}
lateAsserts();
assertEq(() => set$foo(Foo, 321), undefined);
assertEq(() => get$foo(Foo), 321);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
(() => {
const dec = (key, getName, setName) => (target, ctx) => {
assertEq(() => typeof target.get, 'function');
assertEq(() => typeof target.set, 'function');
assertEq(() => target.get.name, getName);
assertEq(() => target.set.name, setName);
assertEq(() => ctx.kind, 'accessor');
assertEq(() => ctx.name, key);
assertEq(() => ctx.static, true);
assertEq(() => ctx.private, false);
assertEq(() => ctx.access.has({ [key]: false }), true);
assertEq(() => ctx.access.has({ bar: true }), false);
assertEq(() => ctx.access.get({ [key]: 123 }), 123);
assertEq(() => {
const obj = {};
ctx.access.set(obj, 123);
return obj[key];
}, 123);
};
const bar = Symbol('bar');
const baz = Symbol();
class Foo {
@dec('foo', 'get foo', 'set foo')
static accessor foo = 0;
@dec(bar, 'get [bar]', 'set [bar]')
static accessor [bar] = 0;
@dec(baz, 'get ', 'set ')
static accessor [baz] = 0;
}
Foo.foo = 321;
assertEq(() => Foo.foo, 321);
Foo[bar] = 4321;
assertEq(() => Foo[bar], 4321);
Foo[baz] = 54321;
assertEq(() => Foo[baz], 54321);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
(() => {
let oldAddInitializer;
let got;
const dec = (target, ctx) => {
ctx.addInitializer(function (...args) {
got = { this: this, args };
});
if (oldAddInitializer)
assertThrows(() => oldAddInitializer(() => { }), TypeError);
assertThrows(() => ctx.addInitializer({}), TypeError);
oldAddInitializer = ctx.addInitializer;
};
class Foo {
@dec
@dec
accessor foo;
}
assertEq(() => got, undefined);
const instance = new Foo;
assertEq(() => got.this, instance);
assertEq(() => got.args.length, 0);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
(() => {
let oldAddInitializer;
let got;
const dec = (target, ctx) => {
ctx.addInitializer(function (...args) {
got = { this: this, args };
});
if (oldAddInitializer)
assertThrows(() => oldAddInitializer(() => { }), TypeError);
assertThrows(() => ctx.addInitializer({}), TypeError);
oldAddInitializer = ctx.addInitializer;
};
class Foo {
@dec
@dec
accessor #foo;
}
assertEq(() => got, undefined);
const instance = new Foo;
assertEq(() => got.this, instance);
assertEq(() => got.args.length, 0);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
(() => {
let oldAddInitializer;
let got;
const dec = (target, ctx) => {
ctx.addInitializer(function (...args) {
got = { this: this, args };
});
if (oldAddInitializer)
assertThrows(() => oldAddInitializer(() => { }), TypeError);
assertThrows(() => ctx.addInitializer({}), TypeError);
oldAddInitializer = ctx.addInitializer;
};
class Foo {
@dec
@dec
static accessor #foo;
}
assertEq(() => got.this, Foo);
assertEq(() => got.args.length, 0);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
(() => {
let oldAddInitializer;
let got;
const dec = (target, ctx) => {
ctx.addInitializer(function (...args) {
got = { this: this, args };
});
if (oldAddInitializer)
assertThrows(() => oldAddInitializer(() => { }), TypeError);
assertThrows(() => ctx.addInitializer({}), TypeError);
oldAddInitializer = ctx.addInitializer;
};
class Foo {
@dec
@dec
static accessor foo;
}
assertEq(() => got.this, Foo);
assertEq(() => got.args.length, 0);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
(() => {
assertThrows(() => {
const dec = (target, ctx) => {
return null;
};
class Foo {
@dec
accessor foo;
}
}, TypeError);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
(() => {
assertThrows(() => {
const dec = (target, ctx) => {
return null;
};
class Foo {
@dec
accessor #foo;
}
}, TypeError);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
(() => {
assertThrows(() => {
const dec = (target, ctx) => {
return null;
};
class Foo {
@dec
static accessor #foo;
}
}, TypeError);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
(() => {
assertThrows(() => {
const dec = (target, ctx) => {
return null;
};
class Foo {
@dec
static accessor foo;
}
}, TypeError);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
(() => {
let get;
let set;
const dec = (target, ctx) => {
function init(x) {
assertEq(() => this instanceof Foo, true);
return x + 1;
}
get = function () { return target.get.call(this) * 10; };
set = function (x) { target.set.call(this, x * 2); };
return { get, set, init };
};
class Foo {
@dec
accessor foo = 123;
}
assertEq(() => Object.getOwnPropertyDescriptor(Foo.prototype, 'foo').get, get);
assertEq(() => Object.getOwnPropertyDescriptor(Foo.prototype, 'foo').set, set);
var obj = new Foo;
assertEq(() => obj.foo, (123 + 1) * 10);
obj.foo = 321;
assertEq(() => obj.foo, (321 * 2) * 10);
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
(() => {
let get;
let set;
const dec = (target, ctx) => {
function init(x) {
assertEq(() => this instanceof Foo, true);
return x + 1;
}
get = function () { return target.get.call(this) * 10; };
set = function (x) { target.set.call(this, x * 2); };
return { get, set, init };
};
let get$foo;
let set$foo;
class Foo {
@dec
accessor #foo = 123;
static {
get$foo = x => x.#foo;
set$foo = (x, y) => { x.#foo = y; };
}
}
var obj = new Foo;
assertEq(() => get$foo(obj), (123 + 1) * 10);
assertEq(() => set$foo(obj, 321), undefined);
assertEq(() => get$foo(obj), (321 * 2) * 10);
})();
Loading

1 comment on commit 07c3054

@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: 07c3054 Previous: 570c47a Ratio
es/full/bugs-1 294079 ns/iter (± 8538) 297662 ns/iter (± 12253) 0.99
es/full/minify/libraries/antd 1971059432 ns/iter (± 50533735) 1877015936 ns/iter (± 76744836) 1.05
es/full/minify/libraries/d3 362265360 ns/iter (± 4420577) 346053793 ns/iter (± 2356409) 1.05
es/full/minify/libraries/echarts 1640348635 ns/iter (± 13471980) 1541989214 ns/iter (± 38848508) 1.06
es/full/minify/libraries/jquery 104096245 ns/iter (± 957288) 103358081 ns/iter (± 356754) 1.01
es/full/minify/libraries/lodash 115851252 ns/iter (± 548005) 114693151 ns/iter (± 311141) 1.01
es/full/minify/libraries/moment 60321746 ns/iter (± 145052) 59668213 ns/iter (± 214356) 1.01
es/full/minify/libraries/react 18518700 ns/iter (± 62526) 18411772 ns/iter (± 30537) 1.01
es/full/minify/libraries/terser 287142857 ns/iter (± 3941136) 275783975 ns/iter (± 2774137) 1.04
es/full/minify/libraries/three 507699367 ns/iter (± 8581484) 471612000 ns/iter (± 4173139) 1.08
es/full/minify/libraries/typescript 3356901389 ns/iter (± 30497155) 3249990102 ns/iter (± 21877822) 1.03
es/full/minify/libraries/victory 848253609 ns/iter (± 17690144) 744968486 ns/iter (± 8841573) 1.14
es/full/minify/libraries/vue 147723687 ns/iter (± 524829) 146080465 ns/iter (± 1245245) 1.01
es/full/codegen/es3 58459 ns/iter (± 222) 59657 ns/iter (± 239) 0.98
es/full/codegen/es5 58515 ns/iter (± 238) 59917 ns/iter (± 189) 0.98
es/full/codegen/es2015 58569 ns/iter (± 1234) 59636 ns/iter (± 133) 0.98
es/full/codegen/es2016 58275 ns/iter (± 179) 59648 ns/iter (± 146) 0.98
es/full/codegen/es2017 58580 ns/iter (± 258) 59918 ns/iter (± 150) 0.98
es/full/codegen/es2018 58455 ns/iter (± 169) 59562 ns/iter (± 88) 0.98
es/full/codegen/es2019 58335 ns/iter (± 153) 59645 ns/iter (± 220) 0.98
es/full/codegen/es2020 58488 ns/iter (± 109) 59750 ns/iter (± 144) 0.98
es/full/all/es3 163618582 ns/iter (± 1289117) 160357434 ns/iter (± 759365) 1.02
es/full/all/es5 157839284 ns/iter (± 712502) 154398073 ns/iter (± 772187) 1.02
es/full/all/es2015 117486698 ns/iter (± 907036) 114182513 ns/iter (± 518904) 1.03
es/full/all/es2016 116012372 ns/iter (± 783043) 113849418 ns/iter (± 598831) 1.02
es/full/all/es2017 115604999 ns/iter (± 514041) 112994925 ns/iter (± 537575) 1.02
es/full/all/es2018 114132472 ns/iter (± 1188613) 111105057 ns/iter (± 791068) 1.03
es/full/all/es2019 113171426 ns/iter (± 1173944) 110571982 ns/iter (± 542720) 1.02
es/full/all/es2020 109216776 ns/iter (± 1110286) 106082289 ns/iter (± 756914) 1.03
es/full/parser 477107 ns/iter (± 3713) 452140 ns/iter (± 1338) 1.06
es/full/base/fixer 15468 ns/iter (± 85) 15391 ns/iter (± 149) 1.01
es/full/base/resolver_and_hygiene 80848 ns/iter (± 305) 78623 ns/iter (± 165) 1.03
serialization of serde 277 ns/iter (± 1) 272 ns/iter (± 1) 1.02
css/minify/libraries/bootstrap 22192606 ns/iter (± 143903) 21986154 ns/iter (± 104723) 1.01
css/visitor/compare/clone 1352154 ns/iter (± 5577) 1372951 ns/iter (± 10007) 0.98
css/visitor/compare/visit_mut_span 1471606 ns/iter (± 13504) 1498999 ns/iter (± 21103) 0.98
css/visitor/compare/visit_mut_span_panic 1483243 ns/iter (± 45296) 1512185 ns/iter (± 20445) 0.98
css/visitor/compare/fold_span 1973140 ns/iter (± 3645) 2025190 ns/iter (± 21264) 0.97
css/visitor/compare/fold_span_panic 2112570 ns/iter (± 6149) 2156853 ns/iter (± 16151) 0.98
css/lexer/bootstrap_5_1_3 3476091 ns/iter (± 4499) 3515305 ns/iter (± 6460) 0.99
css/lexer/foundation_6_7_4 2818895 ns/iter (± 1322) 2842067 ns/iter (± 5792) 0.99
css/lexer/tailwind_3_1_1 540258 ns/iter (± 301) 544314 ns/iter (± 4721) 0.99
css/parser/bootstrap_5_1_3 15981307 ns/iter (± 173676) 16338405 ns/iter (± 84176) 0.98
css/parser/foundation_6_7_4 12810005 ns/iter (± 65876) 12990508 ns/iter (± 57261) 0.99
css/parser/tailwind_3_1_1 2509040 ns/iter (± 8842) 2505402 ns/iter (± 32550) 1.00
es/codegen/colors 730821 ns/iter (± 395390) 730347 ns/iter (± 399814) 1.00
es/codegen/large 2974399 ns/iter (± 1577655) 3010469 ns/iter (± 1633832) 0.99
es/codegen/with-parser/colors 40440 ns/iter (± 245) 40312 ns/iter (± 407) 1.00
es/codegen/with-parser/large 451153 ns/iter (± 1267) 455341 ns/iter (± 2034) 0.99
es/minify/libraries/antd 1451524718 ns/iter (± 54080886) 1587009729 ns/iter (± 44599895) 0.91
es/minify/libraries/d3 283121218 ns/iter (± 3367389) 301243366 ns/iter (± 13111356) 0.94
es/minify/libraries/echarts 1172421376 ns/iter (± 49666217) 1314343298 ns/iter (± 22246190) 0.89
es/minify/libraries/jquery 82850660 ns/iter (± 392264) 84129017 ns/iter (± 866104) 0.98
es/minify/libraries/lodash 104329140 ns/iter (± 194401) 105688667 ns/iter (± 811831) 0.99
es/minify/libraries/moment 48479307 ns/iter (± 51027) 48872927 ns/iter (± 625980) 0.99
es/minify/libraries/react 16294399 ns/iter (± 22621) 16278739 ns/iter (± 54997) 1.00
es/minify/libraries/terser 217302369 ns/iter (± 747295) 230143688 ns/iter (± 4318135) 0.94
es/minify/libraries/three 373427970 ns/iter (± 8318425) 406067920 ns/iter (± 8039106) 0.92
es/minify/libraries/typescript 2765737400 ns/iter (± 25079674) 2932847097 ns/iter (± 22423918) 0.94
es/minify/libraries/victory 613371479 ns/iter (± 67520596) 718060024 ns/iter (± 16702906) 0.85
es/minify/libraries/vue 121442063 ns/iter (± 387453) 125015161 ns/iter (± 940916) 0.97
es/visitor/compare/clone 1713559 ns/iter (± 4832) 1732733 ns/iter (± 8049) 0.99
es/visitor/compare/visit_mut_span 2069165 ns/iter (± 15601) 2080969 ns/iter (± 59072) 0.99
es/visitor/compare/visit_mut_span_panic 2048164 ns/iter (± 25418) 2072925 ns/iter (± 46530) 0.99
es/visitor/compare/fold_span 2800125 ns/iter (± 26311) 2792637 ns/iter (± 13087) 1.00
es/visitor/compare/fold_span_panic 2813542 ns/iter (± 12025) 2818249 ns/iter (± 10158) 1.00
es/lexer/colors 9846 ns/iter (± 82) 9742 ns/iter (± 78) 1.01
es/lexer/angular 4996359 ns/iter (± 14701) 4966038 ns/iter (± 26886) 1.01
es/lexer/backbone 671582 ns/iter (± 6606) 634486 ns/iter (± 632) 1.06
es/lexer/jquery 3808269 ns/iter (± 28897) 3716272 ns/iter (± 23914) 1.02
es/lexer/jquery mobile 5629284 ns/iter (± 43193) 5467676 ns/iter (± 36885) 1.03
es/lexer/mootools 2830542 ns/iter (± 3661) 2893554 ns/iter (± 4526) 0.98
es/lexer/underscore 526253 ns/iter (± 4718) 528952 ns/iter (± 8601) 0.99
es/lexer/three 16339721 ns/iter (± 937361) 16380829 ns/iter (± 67346) 1.00
es/lexer/yui 2959937 ns/iter (± 9618) 2909293 ns/iter (± 4213) 1.02
es/lexer/cal-com 13437405 ns/iter (± 88728) 13337547 ns/iter (± 37142) 1.01
es/lexer/typescript 94800716 ns/iter (± 451531) 91857057 ns/iter (± 518230) 1.03
es/parser/colors 23472 ns/iter (± 130) 23865 ns/iter (± 414) 0.98
es/parser/angular 13231623 ns/iter (± 264591) 12493571 ns/iter (± 93184) 1.06
es/parser/backbone 1819798 ns/iter (± 14282) 1839773 ns/iter (± 23053) 0.99
es/parser/jquery 10216990 ns/iter (± 102441) 10139396 ns/iter (± 83413) 1.01
es/parser/jquery mobile 15602435 ns/iter (± 362989) 15624488 ns/iter (± 136014) 1.00
es/parser/mootools 7868935 ns/iter (± 49440) 7933714 ns/iter (± 76865) 0.99
es/parser/underscore 1574612 ns/iter (± 5567) 1597918 ns/iter (± 7257) 0.99
es/parser/three 46021784 ns/iter (± 267727) 44364553 ns/iter (± 685079) 1.04
es/parser/yui 7474468 ns/iter (± 38124) 7542908 ns/iter (± 35073) 0.99
es/parser/cal-com 42148795 ns/iter (± 426204) 39237221 ns/iter (± 311612) 1.07
es/parser/typescript 272521430 ns/iter (± 1327475) 267115840 ns/iter (± 1288514) 1.02
es/preset-env/usage/builtin_type 136332 ns/iter (± 32932) 136160 ns/iter (± 33412) 1.00
es/preset-env/usage/property 16008 ns/iter (± 96) 16029 ns/iter (± 111) 1.00
es/resolver/typescript 104176017 ns/iter (± 2100965) 98824797 ns/iter (± 2565591) 1.05
es/fixer/typescript 80048753 ns/iter (± 3609845) 76179757 ns/iter (± 4028413) 1.05
es/hygiene/typescript 175014581 ns/iter (± 2066118) 175387503 ns/iter (± 3948242) 1.00
es/resolver_with_hygiene/typescript 295845534 ns/iter (± 3530641) 299384362 ns/iter (± 4756992) 0.99
es/visitor/base-perf/module_clone 56856 ns/iter (± 582) 56208 ns/iter (± 516) 1.01
es/visitor/base-perf/fold_empty 60441 ns/iter (± 1098) 59988 ns/iter (± 951) 1.01
es/visitor/base-perf/fold_noop_impl_all 60374 ns/iter (± 1002) 60341 ns/iter (± 550) 1.00
es/visitor/base-perf/fold_noop_impl_vec 60325 ns/iter (± 639) 59970 ns/iter (± 585) 1.01
es/visitor/base-perf/boxing_boxed_clone 58 ns/iter (± 0) 59 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed_clone 47 ns/iter (± 0) 47 ns/iter (± 0) 1
es/visitor/base-perf/boxing_boxed 105 ns/iter (± 0) 105 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 80 ns/iter (± 0) 81 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 2570 ns/iter (± 29) 2577 ns/iter (± 5) 1.00
es/base/parallel/resolver/typescript 2462324440 ns/iter (± 146633740) 2449410446 ns/iter (± 98162962) 1.01
es/base/parallel/hygiene/typescript 3237541955 ns/iter (± 54292797) 3166931365 ns/iter (± 63006068) 1.02
babelify-only 506623 ns/iter (± 12492) 506422 ns/iter (± 7886) 1.00
parse_and_babelify_angular 42041992 ns/iter (± 2352099) 41160821 ns/iter (± 483751) 1.02
parse_and_babelify_backbone 4518709 ns/iter (± 163081) 4457359 ns/iter (± 118769) 1.01
parse_and_babelify_jquery 29303139 ns/iter (± 309891) 30562371 ns/iter (± 188942) 0.96
parse_and_babelify_jquery_mobile 51144849 ns/iter (± 752155) 54311679 ns/iter (± 459923) 0.94
parse_and_babelify_mootools 25829286 ns/iter (± 392093) 28450237 ns/iter (± 560255) 0.91
parse_and_babelify_underscore 3737879 ns/iter (± 38271) 3757872 ns/iter (± 25614) 0.99
parse_and_babelify_yui 24780922 ns/iter (± 571945) 29608253 ns/iter (± 1420375) 0.84
html/minify/document/css_spec 45479670 ns/iter (± 263941) 45568972 ns/iter (± 341897) 1.00
html/minify/document/github 18165268 ns/iter (± 69222) 18101946 ns/iter (± 52551) 1.00
html/minify/document/stackoverflow 16660774 ns/iter (± 389142) 16468544 ns/iter (± 630142) 1.01
html/minify/document_fragment/css_spec 44250203 ns/iter (± 644378) 45210778 ns/iter (± 490688) 0.98
html/minify/document_fragment/github 17832593 ns/iter (± 149137) 17931927 ns/iter (± 184337) 0.99
html/minify/document_fragment/stackoverflow 16224704 ns/iter (± 159590) 16261688 ns/iter (± 52348) 1.00
html/document/visitor/compare/clone 164313 ns/iter (± 2164) 167025 ns/iter (± 1989) 0.98
html/document/visitor/compare/visit_mut_span 181572 ns/iter (± 1439) 183322 ns/iter (± 1414) 0.99
html/document/visitor/compare/visit_mut_span_panic 187629 ns/iter (± 3766) 186751 ns/iter (± 2927) 1.00
html/document/visitor/compare/fold_span 229125 ns/iter (± 944) 229986 ns/iter (± 1470) 1.00
html/document/visitor/compare/fold_span_panic 282008 ns/iter (± 1274) 280487 ns/iter (± 759) 1.01
html/document_fragment/visitor/compare/clone 165549 ns/iter (± 992) 168279 ns/iter (± 855) 0.98
html/document_fragment/visitor/compare/visit_mut_span 181290 ns/iter (± 1215) 182792 ns/iter (± 896) 0.99
html/document_fragment/visitor/compare/visit_mut_span_panic 186808 ns/iter (± 1091) 187870 ns/iter (± 1107) 0.99
html/document_fragment/visitor/compare/fold_span 230593 ns/iter (± 1251) 228197 ns/iter (± 1650) 1.01
html/document_fragment/visitor/compare/fold_span_panic 281502 ns/iter (± 890) 277037 ns/iter (± 787) 1.02
html/lexer/css_2021_spec 12813879 ns/iter (± 14471) 12830540 ns/iter (± 23445) 1.00
html/lexer/github_com_17_05_2022 4909354 ns/iter (± 25617) 4930457 ns/iter (± 21544) 1.00
html/lexer/stackoverflow_com_17_05_2022 4652139 ns/iter (± 7752) 4678445 ns/iter (± 58347) 0.99
html/parser/parser_document/css_2021_spec 25148931 ns/iter (± 81171) 25709382 ns/iter (± 68347) 0.98
html/parser/parser_document/github_com_17_05_2022 8396627 ns/iter (± 28923) 8560765 ns/iter (± 18321) 0.98
html/parser/parser_document/stackoverflow_com_17_05_2022 7324155 ns/iter (± 10391) 7543387 ns/iter (± 27364) 0.97
html/parser/parser_document_fragment/css_2021_spec 24741169 ns/iter (± 163281) 26562967 ns/iter (± 39932) 0.93
html/parser/parser_document_fragment/github_com_17_05_2022 8362083 ns/iter (± 33004) 8819371 ns/iter (± 29461) 0.95
html/parser/parser_document_fragment/stackoverflow_com_17_05_2022 7268080 ns/iter (± 22816) 7937705 ns/iter (± 25006) 0.92

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

Please sign in to comment.