Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
reduce_foreach
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-J810G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36
Browser:
Chrome Mobile 92
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
reduce
26571.2 Ops/sec
foreach
31323.3 Ops/sec
Script Preparation code:
function generateInsertStatement1(data) { let values = []; Object.keys(data).forEach(subjectId => { data[subjectId].forEach((questionId, index) => { values.push(`(${index + 1},${subjectId},${questionId})`); }); }); return `INSERT INTO question (sequence,subjectid,questionId) VALUES ${values.join(',')};`; } function generateInsertStatement2(data) { const values = Object.entries(data).reduce((acc, [subjectId, questionIds]) => { const subjectValues = questionIds.map((questionId, index) => `(${index + 1},${subjectId},${questionId})`); return acc.concat(subjectValues); }, []); return `INSERT INTO question (sequence,subjectid,questionId) VALUES ${values.join(',')};`; }
Tests:
reduce
const questionsData = { "4": [4796, 4590], "5": [1141, 947, 1451, 1343, 943, 1088, 2990, 2971, 1504, 3104] }; const sqlStatement2 = generateInsertStatement2(questionsData);
foreach
const questionsData = { "4": [4796, 4590], "5": [1141, 947, 1451, 1343, 943, 1088, 2990, 2971, 1504, 3104] }; const sqlStatement1 = generateInsertStatement1(questionsData);