Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
pedroac Fizz Buzz cache 6
(version: 12)
Comparing performance of:
direct vs ordered direct vs divisible by 15 vs concatenate vs skip iterations vs functional vs binary vs cache
Created:
4 years ago
by:
Registered User
Jump to the latest result
Tests:
direct
const fizzBuzz = function(n) { const result = new Array(n); for (let i = 1; i <= n; ++i) { let s = i.toString(); if (i % 3 === 0) { s = 'Fizz'; } if (i % 5 === 0) { s = 'Buzz'; } if (i % 3 === 0 && i % 5 === 0) { s = 'FizzBuzz'; } result[i-1] = s; } return result; } fizzBuzz(100);
ordered direct
const fizzBuzz = function(n) { const result = new Array(n); for (let i = 1; i <= n; ++i) { if (i % 3 === 0 && i % 5 === 0) { result[i-1] = 'FizzBuzz'; } else if (i % 3 === 0) { result[i-1] = 'Fizz'; } else if (i % 5 === 0) { result[i-1] = 'Buzz'; } else { result[i-1] = i.toString(); } } return result; }; fizzBuzz(100);
divisible by 15
const fizzBuzz = function(n) { const result = new Array(n); for (let i = 1; i <= n; ++i) { if (i % 15 === 0) { result[i-1] = 'FizzBuzz'; } else if (i % 3 === 0) { result[i-1] = 'Fizz'; } else if (i % 5 === 0) { result[i-1] = 'Buzz'; } else { result[i-1] = i.toString(); } } return result; }; fizzBuzz(100);
concatenate
const fizzBuzz = function(n) { const result = new Array(n); for (let i = 1; i <= n; ++i) { const f = i % 3 === 0 ? 'Fizz' : ''; const b = i % 5 === 0 ? 'Buzz' : ''; let str = `${f}${b}`; if (!str) { str = i.toString(); } result[i-1] = str; } return result; }; fizzBuzz(100);
skip iterations
const fizzBuzz = function(n) { const result = Array(n).fill(''); for (let i = 2; i < n; i += 3) { result[i] += 'Fizz'; } for (let i = 4; i < n; i += 5) { result[i] += 'Buzz'; } for (let i = 0; i < n; ++i) { if (!result[i]) { result[i] = (i+1).toString(); } } return result; } fizzBuzz(100);
functional
const fizzBuzz = function(n) { return Array .from({length: n}, (_,i) => ++i) .map(number => { const f = number % 3 === 0 ? 'Fizz' : ''; const b = number % 5 === 0 ? 'Buzz' : ''; return `${f}${b}` || number.toString(); }); }; fizzBuzz(100);
binary
const fizzBuzz = function(n) { const result = new Array(n); const values = [null, 'Fizz', 'Buzz', 'FizzBuzz']; for (let i = 1; i <= n; ++i) { values[0] = i.toString(); result[i-1] = values[(i % 3 === 0 ? 1 : 0) + 2 * (i % 5 === 0 ? 1 : 0)]; } return result; }; fizzBuzz(100);
cache
const fizzBuzz = function(n) { return ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz","16","17","Fizz","19","Buzz","Fizz","22","23","Fizz","Buzz","26","Fizz","28","29","FizzBuzz","31","32","Fizz","34","Buzz","Fizz","37","38","Fizz","Buzz","41","Fizz","43","44","FizzBuzz","46","47","Fizz","49","Buzz","Fizz","52","53","Fizz","Buzz","56","Fizz","58","59","FizzBuzz","61","62","Fizz","64","Buzz","Fizz","67","68","Fizz","Buzz","71","Fizz","73","74","FizzBuzz","76","77","Fizz","79","Buzz","Fizz","82","83","Fizz","Buzz","86","Fizz","88","89","FizzBuzz","91","92","Fizz","94","Buzz","Fizz","97","98","Fizz","Buzz"]; }; fizzBuzz(100);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (8)
Previous results
Fork
Test case name
Result
direct
ordered direct
divisible by 15
concatenate
skip iterations
functional
binary
cache
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
I'm ready to help! However, I notice that the provided code snippet and benchmark result seem to be related to performance testing of a JavaScript function. The `fizzBuzz` function is not explicitly defined in the provided text. If you're looking for assistance with understanding or optimizing this function, please provide more context or details about what the function is supposed to do. I'll do my best to help!
Related benchmarks:
HashBounds
HashBounds
Lodash cloneDeep
Hashes: JavaString, DJB2, Cyr53
zlib compatible compression libraries comparison
Comments
Confirm delete:
Do you really want to delete benchmark?