I got this info from Tomaz Zezula and Jan Becicka:
We made changes in the 6.1 java editor to reparse and reattribute only modified method rather than the whole java file.
This leads to significant performance improvements. When the user types into the method only the top level method is
reparsed which decreases both parse+attribute time and the time needed by tasks (hints, error marking, navigator) to
recalculate changes. For example for modification
of a method in the 150KB java class the benchmark looks like this:
|Reparse||75 ms||1 ms|
|Signature reattribution||318 ms ||0 ms|
Also the newly added API allows the tasks listening on the Java model
to recompute data only for changed method rather than for the whole file. Partial reparse has several limitations, it can't be used for
methods contained in local classes or when modifying the source
code of added or removed anonymous class.
What does this all mean for the user? It means much faster response in the java editor when making changes in the source code - full reparse is now mostly not needed and partial reparse is much faster (as seen on the table above). These changes are most visible on large classes where full reparse could have taken significant time in previous versions.