var/L[0] always got a 1.1 or 1 second calculation time, while var/L[]=new always got a 1 or 0.9 second calculation time.
After repeated tests my machine comes up with these results consistently.
This is the code I used. I want to see if other people come up with the same results:
var/TimeMark=0
proc/Mark(T)
world<<"Beginning Test: [T]"
// world<<"Operation started at [time2text(world.timeofday,"hh:mm:ss")]"
TimeMark=world.timeofday
proc/Report()
// world<<"Operation finished at [time2text(world.timeofday,"hh:mm:ss")]"
var/X=(world.timeofday-TimeMark)/10
world<<"Operation took [X] seconds \n"
return X
mob/verb/Test1()
var/Results[0]
var/X
for(var/y=1,y<=15,y++)
Mark()
for(var/i=1,i<=1000000,i++)
var/L[0]
X=Report()
if(!Results.Find("[X]"))
Results["[X]"]=1
else Results["[X]"]++
sleep(1)
for(var/Y in Results)
world<<"([Y] , [Results["[Y]"]])"
mob/verb/Test2()
var/Results[0]
var/X
for(var/y=1,y<=15,y++)
Mark()
for(var/i=1,i<=1000000,i++)
var/L[]=new
X=Report()
if(!Results.Find("[X]"))
Results["[X]"]=1
else Results["[X]"]++
sleep(1)
for(var/Y in Results)
world<<"([Y] , [Results["[Y]"]])"