When I watch my cpu meter when IDEA is doing syntax+inspections parse for a java source file, I always see a similar pattern. To take a big example, I have a 9,234 line java source file. It takes about 35 seconds for IDEA to finish parsing this file on a quadcore workstation with hyperthreading, so it appears as 8 cpus in the windows resource monitor.
If you look at the cpu graph below which, please look at area between the dashed orange lines which marks the time when IDEA was doing syntax+inspections parse.
For the first 10 seconds or so, it looks like all 8 cpus are maxed out at 100%, but then after that cpu activity drops to only about 20% on each cpu for the remaining 25 seconds.
I have captured a cpu snapshot of this activity. (See youtrack issue below) Can you please check to see if there is a way to improve the parallization?
If all cpus can continue to be utilized at 100%, then the parse should only take about 15 seconds instead of 35 seconds.
I also attached a graph of the disk activity during this time, which was pretty low, so it doesn't seem like it is limited by I/O.
Windows 2008 R2 x64, JDK 1.6.0_20 x64, IU-96.1121
IDEA-58559 IDEA syntax+inspections parse is not fully utilizing my quadcore workstation.