DEV Community

Discussion on: The FizzBuzz problem

Collapse
 
paddy3118 profile image
Paddy3118

The Modulo operator (%) is a heavy operator

There's your problem. It is quite fast in itself.

Collapse
 
pranjaljain0 profile image
Pranjal Jain

For 100 operations it might seem fast but for 10000 operations it starts to show a good difference.
here is the runtime of three functions with 10000 operations
6.550000000160594
2.3500000001508425
2.0000000000575113

Collapse
 
paddy3118 profile image
Paddy3118 • Edited

Unfortunately four numbers doesn't explain much.
Modulo is usually one machine code instruction. Other parts of the program will probably dwarf its execution time, such as I/O.

Collapse
 
kallmanation profile image
Nathan Kallman

Agreed, the problem isn't that it is slower (unless you're building a military grade FizzBuzz the difference is imperceptible). The actual problem (or I should say, the problem much more likely to be encountered) is when a change request comes in to add rules to "Woof on multiples of 7" the number of cases to check doubles (from 15, 5, 3 to 105, 35, 21, 15, 7, 5, 3)

Collapse
 
pranjaljain0 profile image
Pranjal Jain

Yes true...
And when working in real-life applications...
we often encounter these sort of problems, where the correct algorithm wins.
just like Page rank over others...

Collapse
 
paddy3118 profile image
Paddy3118

Solve today's problem. Fizzbuzz is Fizzbuzz.