Await Closure vs Await Branching

Benchmark created on


Setup

async function doStuff1() {
	return Promise.resolve(1);
}

async function doStuff2() {
	return Promise.resolve(2);
}

async function doStuffClosure(bool) {
	return await (async () => {
		return bool ? doStuff1() : doStuff2();
	})();
}

async function doStuffBranching(bool) {
	let response;
	if (bool) {
		response = await doStuff1();
	} else {
		response = await doStuff2();
	}
	return response;
}

Test runner

Ready to run.

Testing in
TestOps/sec
Closure
doStuffClosure(true).then(val => console.log('done', val));
ready
If statement
doStuffBranching(true).then(val => console.log('done', val));
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.