I noticed that on the first turn performance is about 10x slower than on other turns.
For instance, a simple sort + loop over 47 items in a list takes about 7 ms on first turn but the same code takes < 0.7ms on next turns.
I am using C# and I'm using the System.Diagnostics.Stopwatch to measure time.
I've tried several different code snippets and they consistently show a significant performance drop on first turn. For instance, another code path that takes 0.5ms on first turn, on next turns it takes 0.025ms.
I haven't had time to try replicating this in other languages but in C# I'm quite confident this is indeed a problem.
To further expand on this, I've even tested simple operations such as allocating an array, or copying an array. Tested several times, the first turn every single operation is 10x to 15x slower than on next turns. This means that despite getting that extra time on the first turn, I can't exactly perform much more computation. I still really only get about the same number of operations that I can perform.