For loop
For this test I was curious to see how well Udon executes for-loops, and the results I got were really unexpected.
I executed two methods Benchmark1
and Benchmark2
and compared their execution time.
public override void Benchmark1()
{
int number = 0;
for (int i = 0; i < 50000; i++)
{
number++;
}
}
public override void Benchmark2()
{
int number = 0;
for (int i = 0; i < 50000; i+=5)
{
number++;
number++;
number++;
number++;
number++;
}
}
Both methods execute a for-loop, and both of them go from 0 to 50000, except that the second method has the step set to 5 and each loop executes 5 instructions instead of 1. So both methods do the exact same thing, except that the second one only loops 10000 times instead of 50000.
B1 : 79.903 ms (2.2 times slower)
B2 : 35.388 ms
This benchmark surprised me the most, it seems like the for-loop has a pretty noticeable overhead
No Comments