mr47 personal task

Benchmark publishedon

Description

Its part of matrix algebra and theory.

Setup

const r = (n) => {
	return Math.floor(Math.random() * n) + 1;
}
let a = [
	r(10),
	r(9),
	r(8),
	
	r(7),
	r(6),
	r(5),
	
	r(10),
	r(10),
	r(10),
]

Teardown

a = [
	r(10),
	r(9),
	r(8),
	
	r(7),
	r(6),
	r(5),
	
	r(10),
	r(10),
	r(10),
]

Test Runner

Initializing...

Testing in
Test CaseOps/sec
mod forEach + push
const fn = (col) => {
	let rr = [];
	a.forEach((value, index) =>  {
        if ((index) % 3 === col - 1) {
            rr.push(value)
        }
    });
    return rr;
}

let r1 = fn(1);
let r2 = fn(2);
let r3 = fn(3);
ready
for (step +1) + push
const fn = (col) => { 
	let rr = [];
	for (let i = 0; i < a.length; i++) {
		if (i % 3 === col - 1) {
			rr.push(a[i]);
		}
	}
	return rr;
}
let r1 = fn(1);
let r2 = fn(2);
let r3 = fn(3);
ready
filter
const fn = (col) => { 
	return a.filter((v, index) => index % 3 === col - 1);
}
let r1 = fn(1);
let r2 = fn(2);
let r3 = fn(3);
ready
for (step +3) + push
const fn = (col) => { 
	let rr = []
	for (let i=0; i < a.length; i+=3) {
		rr.push(a[i + col - 1])
	}
	return rr;
}
let r1 = fn(1);
let r2 = fn(2);
let r3 = fn(3);
ready
constant
const fn = (col) => {
	return [
		a[3 * 0 + col - 1],
		a[3 * 1 + col - 1],
		a[3 * 2 + col - 1],
	];
}
let r1 = fn(1);
let r2 = fn(2);
let r3 = fn(3);
ready
relative index (step +3) + push
	
const fn = (col) => { 
	let rr = [];
	for (let i = col-1; i < a.length; i+=3) {
		rr.push(a[i])
	}
	return rr;
}

fn(1);
fn(2);
fn(3);
ready

Revisions

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

Revision 1
publishedon
Revision 2
publishedon