# 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.

```c#
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.

<p class="callout info">B1 : 79.903 ms (2.2 times slower)  
B2 : 35.388 ms  
</p>

<p class="callout success">This benchmark surprised me the most, it seems like the for-loop has a pretty noticeable overhead</p>