I get, on VICE in PAL mode, 212 jiffies and 256 jiffies respectively.
The reason for this nonsense is that Commodore BASIC does the math in floating point, and converts it to integer after the fact. You can speed this up with
which gives me 244 jiffies, but still slower, because even though K% is now already an integer and it costs "less" since it is now in a variable instead of being converted from BASIC text, it still requires a roundtrip to the floating point accumulator.
10 TI$="000000":J=.:FORI=0TO900:J=J+1:NEXT:PRINTTI
20 TI$="000000":J%=.:FORI=0TO900:J%=J%+1:NEXT:PRINTTI
I get, on VICE in PAL mode, 212 jiffies and 256 jiffies respectively.
The reason for this nonsense is that Commodore BASIC does the math in floating point, and converts it to integer after the fact. You can speed this up with
20 TI$="000000":J%=.:K%=1:FORI=0TO900:J%=J%+K%:NEXT:PRINTTI
which gives me 244 jiffies, but still slower, because even though K% is now already an integer and it costs "less" since it is now in a variable instead of being converted from BASIC text, it still requires a roundtrip to the floating point accumulator.
Bottom line: always benchmark.