...
I based my throttle comment on seeing several system log to the effect that "FCPX is misbehaving by using more than 75% CPU for some time, throttling back to less than 50%"
I have never seen that in my console log and I Google searches on many variations, and I don't see anyone ever reporting that. If you still have the exact syntax, I'd be curious what that is.
There is a fundamental difficulty with OS schedulers detecting misbehaving or "CPU hog" processes. How would it know the difference between one that just needs a lot of CPU vs one that is misbehaved and stuck in a tight loop?
Some operating systems like Windows since 2008 have had optional CPU rate limits or quota limits. However this is a fixed hard limit on % of CPU and it doesn't fluctuate or change with process behavior:
https://technet.microsoft.com/en-us/library/ff384148(v=ws.10).aspx
Historically, class-based or quota-based schedulers have a lot of overhead and are prone to make mistakes or induce undesired behavior. With threads (lightweight processes) the scheduling complexity and cost increases. E.g, if you only provide quotas for the process (which may contain 100 threads) and one of those thread get out of control, limiting the process will penalize all the other good threads in that process. If finer-grained quotas are implemented at the thread level this is a lot of overhead.
On OS X (as on many OSs), I believe processes have a priority within the OS X scheduler. A high-CPU process may have its priority lowered to give other processes a chance to run. However this by itself does not throttle the process according to a quota. Here is some background on different CPU scheduling methods:
https://www.cs.rutgers.edu/~pxk/416/notes/07-scheduling.html
...On my stock 8 core, dual D700 I notice that often CPU utilization varies from ~1500% to ~ 700% to ~300% and back up when FCPX is the only thing running. Doesn't seem to be any correlation to what FCPX is doing. Stabilization does use more CPU% than a share/export of a Master clip, which rarely reaches 500% as reported by activity monitor. I've read elsewhere here that most think the 8 core is in a sweeter FCPX spot than the 6 core.
CPU will vary a lot based on what you're doing at the moment, and how the app is configured. E.g, with background rendering on, FCPX will unpredictably take CPU time depending on what the timeout is and how much rendering is remaining. Even with background rendering off, just clicking on a clip with a CPU-heavy effect applied can cause CPU consumption to increase.
I believe on machines with hyperthreaded CPUs, Activity Monitor combines the CPU consumption of all virtual cores
to a single composite number which can be artificially skewed low if some hyperthreaded cores are not scheduled to avoid cache thrashing. That is why you have to look at all virtual cores to see what's really happening, not just the combined number.
In general FCPX is efficiently multithreaded and will use all available CPU cores unless it is waiting on something else such as GPU, memory or disk I/O. For any serious video editor who can afford it, an 8-core or higher machine is a good idea, especially on 4k.