Irida performance statistics vs. 4.5.x


Using Irida (3431) I am seeing some sizable changes in
performance between Irida and 4.5.x; In some cases Irida
is slower and in other cases it is faster.

For example, in another post I mentioned that Find Usages
on a particular public static method was taking ~15 seconds
in Irida ( 3431) versus ~9 seconds in 4.5.x.

Just now, I was doing some string searches (No regex, case
sensitive, scope all project files), and Irida was taking
just 3.5 seconds versus 9 seconds for 4.5.x, so Irida was
almost 200% faster in this case!

It would be great if JetBrains published some performance
statistics showing sample performance on a large frozen
workspace, e.g. IDEA 4.5.4 source code. Stuff like reformat
a large java file, find usages, find in path, rename (
involving renaming references in many files), etc. I am
esp. interested in the performance of operations which
depend on the size of the workspace.

I noticed Eclipse 3.1 has started to do this (although only
on a limited set of metrics).

http://download.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/performance/performance.php

I view performance as a main feature of every release,
whether or not marketing states it as such in the "what's
new in this release" list.

I've never used Eclipse for that long to know how it stacks
up against IntelliJ as far as speed and responsiveness. If
IntelliJ is faster than Eclipse, then why not publish some
benchmarks using a large open source codebase showing
IntelliJ kills Eclipse on speed?

2 comments
Comment actions Permalink

Try turning search for whole words on. Searches become subsecond. Loving this little speedup.

0
Comment actions Permalink

I did a few more benchmarks on IDEA 5.0 (3436) versus 4.5
All tests are done on one of my workspaces with about 500,000 loc.

The memory footprint has gone up, although that doesn't
concern me too much, esp. if the increased memory is used
to cache more data to make lookups faster.

String searches (Search->Find In Path) are much faster in
IDEA 5.0. If I select "Whole words only", searches are 60X
faster. Without "Whole words only", IDEA is still 10X
faster when doing a plain case senstive string search.

Find Usages appears to be 2X to 3X slower in IDEA 5.0.
Note that this is only for Find Usages which require searching. There
are some Find Usages which return instantly in IDEA 4.5.x and IDEA 5.0,
but if the find usages requires searching,e.g. if you do find usages on
an overloaded method, then IDEA 5.0 appears to be 2X to 3X slower.

I'm having some trouble figuring exactly when IDEA requires searching for
the find usages or not. I had some public static methods (non overloaded)
where find usages was still taking 10 to 12 seconds in IDEA 5.0 (and 4 to 6 seconds
in IDEA 4.5). Same thing for public static final fields.


Find (Word,CaseSensitive) 8 letter word, 419 matches (sec) 61 1 6000.00% ++ Search->Find (CaseSensitive) 8 letter word, 646 matches (sec) 61 5.5 1009.09% ++ Find Usages PublicStaticMethod (sec) 4.5 15 -233.33% -- Find Usages PublicStaticFinal Constant (sec) 1.5 7.5 -400.00% -- Find Usages PublicClass (sec) 0.75 2 -166.67% -- Find Usages PublicMethod (sec) 9 9 0.00% // File Operations Reformat Java File 2200 lines (sec) 5 2.25 122.22% ++ Heap Size After Tests After GC (MB) 45 63 40.00% -- Heap Size Max (MB) 129 190 47.29% -- ]]>



Attachment(s):
IDEA_45_vs_50_performance.gif
0

Please sign in to leave a comment.