From https://github.com/dotnet/coreclr/issues/22128#issuecomment-456513621
Microbenchmarks runs are done with tiered JITing disabled. It means that they are not measuring performance that our customers are going to see in the default configuration.
We should have microbenchmarks run with the default configuration (ie tiered JITing enabled).
cc @jorive
@billwert @adamsitnik Is this already covered in dotnet/performance? If not, will it be?
In the old perf lab, the tiered JIT was always disabled.
At the end of February, we have added runs for tiered and non-tiered micro benchmark runs to the performance repo https://github.com/dotnet/performance/pull/340 Initially, the gap was huge for some of the benchmarks with "hot loops"
After @kouvel has merged https://github.com/dotnet/coreclr/pull/23599 the gap dissapeared.

The current status is that we are replacing the "Tiered" and "non-Tiered" runs with single run with default settings: https://github.com/dotnet/performance/pull/561
@adamsitnik Thanks!
Most helpful comment
In the old perf lab, the tiered JIT was always disabled.
At the end of February, we have added runs for tiered and non-tiered micro benchmark runs to the performance repo https://github.com/dotnet/performance/pull/340 Initially, the gap was huge for some of the benchmarks with "hot loops"
After @kouvel has merged https://github.com/dotnet/coreclr/pull/23599 the gap dissapeared.
The current status is that we are replacing the "Tiered" and "non-Tiered" runs with single run with default settings: https://github.com/dotnet/performance/pull/561