3 ms·
In response to an email asking for an example of a fast fizzbuzz, just avoid division. <html> <body> <script type="text/javascript">
by buro9 14y ago
In response to an email asking for an example of a fast fizzbuzz, just avoid division.
<html>
<body>
<script type="text/javascript">
function fastfizzbuzz() {
var fizz = 1, buzz = 1, fizzbuzz = 1;
for (var i = 1; i <= 100000000; i++) {
if (fizzbuzz == 15) {
//document.writeln('fizzbuzz<br />');
fizz = 0;
buzz = 0;
fizzbuzz = 0;
} else if(fizz == 3) {
//document.writeln('fizz<br />');
fizz = 0;
} else if(buzz == 5) {
//document.writeln('buzz<br />');
buzz = 0;
} else {
//document.writeln(i + '<br />');
}
fizz++;
buzz++;
fizzbuzz++;
}
}
function slowfizzbuzz() {
for (var i = 1; i <= 100000000; i++) {
if (i % 15 == 0) {
//document.writeln('FizzBuzz<br />');
} else if (i % 3 == 0) {
//document.writeln('Fizz<br />');
} else if (i % 5 == 0) {
//document.writeln('Buzz<br />');
} else {
//document.writeln(i + '<br />');
}
}
}
var startTime=new Date();
fastfizzbuzz();
var endTime=new Date();
document.writeln('Fast: ' + (endTime - startTime) + 'ms<br />');
startTime=new Date();
slowfizzbuzz();
endTime=new Date();
document.writeln('Slow: ' + (endTime - startTime) + 'ms<br />');
</script>
</body>
</html>