rilden 2020-08-21 11:11
According to the manual, string creation costs 1 cycle per letter.
After testing I found that string creation always costs the same, it doesn't take into account the number of letters in the string.
For example:
S1$="" costs 3 cycles, S2$="1234567890" also costs 3 cycles. S2$ should cost 13 cycles, because the string has 10 letters.
Timo 2020-08-21 12:13
As far as I remember, this was on purpose. Even though it's a BASIC interpreter, I wanted the CPU cycles system behave more like for machine code. In this case assigning a string to a variable is just storing a pointer to the string. Only when you edit the string, the code would usually access each character and use CPU cycles.
I will recheck my code and make it clearer in the manual.
rilden 2020-08-21 14:44
I see, I thought that string creation was referring to assignment. Thanks for clearing that up.