I'm currently evaluating PhpStorm for my daily coding work and I'm totally stunned about it's features and speed (coming from Aptana/Eclipse/Zend Studio).
But there is one really big issue that blurs my oppionion on PhpStorm's speed: Every time I open/edit larger PHP files (i.e. 10K lines of code) PhpStorm becomes more slow than a sloth. I've to wait up to 60 seconds after changing a single character in one of these bigger files.
I've this experience on two machines:
Both have the same software basis: PhpStorm 1.01, Ubuntu 10.4 x64, Sun JRE 6 (6.20dlj-1ubuntu3)
Machine 1 is a Core i7 920, 12GB RAM, machine 2 is AMD Phenom X4 965, 4GB RAM
Configuration has not been changed - I'm experiencing this using out of the box configuration.
Interesting fact: CPU usage and IO wait keep as low as using smaller files - there is nothing suspicious.
What can I do to get more performance on editing larger files?
You can try disabling all inspections (click on inspector head in status bar) and php-related language injection (settings|language injection).
Also we'd like to investigate the problem:
Please capture CPU snapshot (using last toolbar buttons in 1.0.2 RC build): start recording - type 10-20 characters add stop
Please create new ticket at http://youtrack.jetbrains.net/issues/WI and attach it there.
Also it will be great if you send us files in question for further investigation - mind that you may want set "visible to: jetbrains team" on attachment.
Sorry for my extreme late reply - lot of work had to be done in the last weeks
I've installed EAP build 96.1130 recently and the performance improvements described in the corresponding blog entry seem to solve all issues mentioned in my initial post.
Thanks for your good work!
What corresponding performance improvements? Mine is still very slow on large files. If I have to disable inspections, what's the point? I'll go back to using Netbeans, if that is the case (still on the fence, we use both.)
Looks like I've to relativize my statement - disabling most of the inspections in large files does most of the performance boost.
Today I've worked on a procject with several larger php files with about 12K lines - editing a few chars caused PhpStorm to use up to 100% CPU and freeze for several seconds on my Core i7 machine.
Under this circumstances, we'll keep on looking for another IDE than PhpStorm cannot be used for productive use
Editor performance problems with large PHP files will be addressed in 2.0. Next EAPs will get faster php parser and other php-specific improvements.
The problem is that while PhpStorm 2.0 EAP builds will contain php-specific improvements it will also get "work-in-progress" version of IDE platform - and currently there are several known (and quite huge) performance problems related to code inspection, because this part is beeng reworked. These problems are to be fixed closer to 2.0 release time.
Unfortunately I've not noticed any progress during my tests of the latest EAP builds (I've been using every new update you provided for download)
Can you give me a short outlook if performance will be dramatically increased in future versions?
I think it is not too unusual to have PHP files with 10K or more lines, is it?
We've started refactoring the project to split it up in some smaller files - but this issue still persists.
Is there any way to tweak PhpStorm's configuration to speed it up in this use case?
Well, the formatting and reparsing speeds - that's the slowest part when typing large files - were improved significantly since my previous mesage. That was specifically profiled and adressed.
There's still lot that we're able (and plan) to improve. We're still in "adding features" stage for 2.0 but quite soon we will shift our focus to bugfixing and performance optimisation. However we can't give any estimates on what boost you may expect.
I'm looking forward to every new EAP build you provide. Currently only option that keeps working speed on a acceptable level is activating "Power Save Mode" when editing files > 5000 lines.
Is there any way to tweak PhpStorm's configuration to get better performance? My workstation should have enough spare resouces (12GB RAM, Core i7 920 @ 2.67GHz, 80GB Intel X25-M SSD, Ubuntu 10.10 x64).
I don't know if it's normal, but I use three editors regularly (Netbeans, PHPStorm, ZendStudio), and only Netbeans handles files over 3000 lines very well (and not great), and I have a beast of a machine (Quad 940, 4GB DDR3, Windows 7 x64, RAID 0 Array, blah, blah blah.)