Im not saying those are complately useless tests, at least they can push you to hone your code faster in some cases.
But as a speed test of a language, it does not work.
FizzFuzz is relatively easy and simple IF...ELSE..END IF algorithm, But what its not, is a full size game with couple of thousand lines of codes, asset loads, importing from external files, handling user-defined functions etc.
And then there is the load up. BB fires up the whole .NET10 for the use of programmer while some other language just sets up the most minimal backends that are required. Just the running up time can change because of that pretty much.
Here is a simple test code you can try yourself if you have BB installed.
' BazzBasic version 1.4c ' https://ekbass.github.io/BazzBasic/ [inits] LET fizz$ = "Fizz" LET buzz$ = "Buzz" LET fizzBuzz$ LET timesTo$ = 0 [main] LET timer$ = TICKS FOR i$ = 1 to 500000 fizzBuzz$ = "" IF MOD(i$, 3) = 0 THEN fizzBuzz$+= fizz$ END IF IF MOD(i$, 5) = 0 THEN fizzBuzz$+= buzz$ END IF 'IF i$ <> "" THEN ' PRINT i$; ": "; fizzBuzz$ 'END IF NEXT PRINT "TimesTo: "; TICKS - timer$; "ms" SLEEP 5 IF TimesTo$ < 2 THEN TimesTo$+=1 GOTO [main] END IF LET kwv$ = WAITKEY() END
It basically does same thing 3 times. Goes through 500 000 iterations of FizzFuzz.
First round with my PC takes roughly 300-350ms. But the second and third round takes roughly 160-165ms anymore.
This is simply how .NET behaves.
On second and third round, jit has optimized itself and you can see it results.
In short programs, you cant even see this because program ends before optimizer even kicks in.
I commented out the section where "", "Fizz", "Fuzz" or "FizzFuzz" is printed. With that, code takes roughly 15.5 seconds in my PC.
But then, its more about the speed of your CLI, not the language.
Im not saying those speed tests are useless. You can learn tons from them. You just need to understand what about they are and what they compare.