I’ve recently noticed that experience servers seem to take around 3~ ms on a “CPUFreq” label. It’ll also generate stutters going well over 20 ms quite frequently but on average it will just take that initial 3~ ms to compute.
To reproduce, simply join any experience you own and take a server microprofiler dump. The CPUFreq label will be present 100% of the time. You may need to take two or three to capture the stutters if you didnt the first time.
This “CPUFreq” should at least not be causing stutters. But preferably it should not take 3~ ms to compute at all. If there is a specific reason as to why it needs to take that long then i would like to hear it.
This is going to be called once per frame on the server. The issue, unfortunately, is that each of these requires a system call to the kernel to ask what the current frequency of the processor is - and as processor core counts scale, the time this takes scales up accordingly.
We know this is an issue and long term, we want to introduce a better heuristic that can capture the same data without incurring a high system call penalty. We have an approach that we think will work; but this is going to take some time to land so I cannot promise you any immediate relief.
Fortunately, we only measure this when Microprofiler is turned on so the downstream impact on your player base will be zero.