Good morning,
I've been using Liberty Basic Booster for some time on Windows 10 on a computer with a fairly old Intel i7 processor, and I'm very pleased with its speed and the ability to integrate it with BBC Basic instructions.
I tried running a test program on Windows 11 on a computer with an Intel Ultra 9 processor, and I noticed a change in execution times from min.560ms to max.12000ms just by changing a few bytes on a direct string assignment (tara$="123456789012345678901") or declaring a different number of variables at the beginning (variables not used in the loop). This essentially just slightly changes the length of the code.
I've tried changing many Windows 11 options (Gemini's suggestions), but nothing has worked.
I'm wondering if there's any suggestions for working around this behavior (which I don't see in Liberty Basic).
I'm attaching the test program.
Thank you and best regards,
Gianni Dal Borgo
=== TEST PROGRAM ===
tara$="123456789012345678901"
global giri
global i
dim prg(130,20)
call inizia
giri = 100000
t0 = time$("ms")
for i = 1 to giri
call estrazione
next i
dt = time$("ms") - t0
print "giri=";giri
print "millisec.=";dt
wait
end
sub estrazione
gosub [estraistruttura]
exit sub
[estraistruttura]
nrig = prg(0,0)
ncol = prg(0,1)
shdr = prg(0,2)
sprg = prg(0,3)
swin = prg(0,4)
sctl = prg(0,5)
sval = prg(0,6)
sdat = prg(0,7)
send = prg(0,8)
rhdr = sprg - shdr
rprg = swin - sprg
rwin = sctl - swin
rctl = sval - sctl
rval = sdat - sval
rdat = send - sdat
hhdr = prg(shdr,0)
hprg = prg(sprg,0)
hwin = prg(swin,0)
hctl = prg(sctl,0)
hval = prg(sval,0)
hdat = prg(sdat,0)
return
end sub
sub inizia
prg(0,0) = 130
prg(0,1) = 20
prg(0,2) = 1
prg(0,3) = 5
prg(0,4) = 25
prg(0,5) = 45
prg(0,6) = 85
prg(0,7) = 105
prg(0,8) = 130
prg(1,0) = 4
prg(5,0) = 6
prg(25,0) = 8
prg(45,0) = 10
end sub