Does transforming the entire response make a significant difference? (v2)

Revision 2 of this benchmark created on


Setup

function burnCycles(durationMs =100) {
  const start = Date.now();
  while (Date.now() - start < durationMs) {
    // Busy loop to burn CPU cycles
  }
}

function getData() {
	return {
		a: "foo", 
		b: "bar",
		c: "charles",
		d: "delta",
		e: "echo"
	}
}

Test runner

Ready to run.

Testing in
TestOps/sec
Transform all

const result = getData(); 
const transformedResult = {
	a: result.a.split(),
	b: result.b.split(),
	c: result.c.split(),
	d: result.d.split(),
	e: result.e.split(),
}
const narrowedResult = {
	a: transformedResult.a
}

console.log(narrowedResult);
ready
Transform 1

const result = getData(); 
const transformedResult = {
	a: result.a.split(),
}
const narrowedResult = {
	a: transformedResult.a
}

console.log(narrowedResult);
ready
Transform all - with burn cycles
burnCycles();
const result = getData(); 
const transformedResult = {
	a: result.a.split(),
	b: result.b.split(),
	c: result.c.split(),
	d: result.d.split(),
	e: result.e.split(),
}
const narrowedResult = {
	a: transformedResult.a
}

console.log(narrowedResult);
ready
Transform 1 - with burn cycles
burnCycles();

const result = getData(); 
const transformedResult = {
	a: result.a.split(),
}
const narrowedResult = {
	a: transformedResult.a
}

console.log(narrowedResult);
ready

Revisions

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