PhpStorm extremely slow on large source files

Hi guys,

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?

36 comments
Official comment

I have found and addressed couple of hotspots for chamilo and others. You'll be able to try it in tomorrow's EAP.

More important -> please disable automatic SQL language injection (or better language injection) at all for files like learnpath.php Settings->search for "injections"

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.

0

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!

0

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.)

0

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 :(

0

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.

0

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?

0

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.

0

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.)

0

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).

0

Wish there was a way to boost phpstorms' performance.. inspections are really slow on my js files

Core i7 with 6gb ram

0

I have the same problem on my Macbook Pro (2,7GHz, 16GB Ram), El Capitan and PHPStorm 10.0.2 installed but the files dont need to be big. Mine is about 2k lines (no PHP, mainly Javascript, some HTML and CSS). The lag is present on anything: Keystrokes, displaying page in browswer (takes several seconds), scrolling. There is always a lag in any action. The CPU usage went up to 400-500%, the fans turning high. Then I saw the hint of deactivating Inspector. I deactivated most of them (those I don't need) so the CPU usage is now "only" between 50% to 150%. Still way too much but the lag dissapeared.

On evaluating PHPStorm I used the version before 10, can't remember what it was (different icon) and hat all those lag problems too.

Regards

0

Hi, problem is still present 

PhpStorm 2016.2.1
Build #PS-162.1889.1, built on August 23, 2016
JRE: 1.8.0_101-b13 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation

Computer Core i5-6200U, 16Gb Ram

VM options: 

# custom PhpStorm VM options

-Xms2G
-Xmx6G
-XX:ReservedCodeCacheSize=1G
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:+AggressiveOpts

File size is about 13k rows. But I don't have an option to reduce this file. 

On renaming variables (shift+f6) all freezes CPU load 50%. On regular edit cpu load goes up to 100%.

 

0

Hello Mihey,

Please enable Profiler agent and collect a CPU snapshot while the performance issue is present.
Follow the guidelines in this article: <https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems>.

Upload the snapshot then to our FTP server and tell the file names.

0
Hi, check it out.
I've made two snapshots. First is for variables renaming problem and second is just regular work. 
 
PS-162.2380.11_Mihey_25.10.2016_12.49.33_renaming.zip (4.9 mb)
PS-162.2380.11_Mihey_25.10.2016_12.52.49_regular_work.zip (5.3 mb)
 
Thank you.
0

Mihey,

1) please do try disable automating language injection Settings|Language Injections|PHP

2) most of both shots is spent flexing this huge file... can you please share it privately with us? (you can replace all actual literal data with dashes) otherwise we can't really investigate what's taking most time.

3) please do try to recapture rename profomance properly - start capture, do 3x rename actions waiting each time until cpu usage drops to 0 - then stop capture.

Thanks!

0

I have a PHP open source project when loading this file 12K lines it scrolls well, after editing one line it starts to be very laggy.

i have a PC -  i7-4770 12gb ram SSD 120gb. I'm using php inspections

Thos the the PHPStorm version I'm using: 

PhpStorm 2016.2.2
Build #PS-162.2380.11, built on October 24, 2016
JRE: 1.8.0_112-release-287-b3 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

The project:

https://github.com/chamilo/chamilo-lms/tree/1.11.x

The zip: 

https://github.com/chamilo/chamilo-lms/archive/1.11.x.zip

The big file:

https://github.com/chamilo/chamilo-lms/blob/1.11.x/main/lp/learnpath.class.php

Hope this helps debugging this issue.

It works smoothly when I have "power save" mode on.

 

 

 

 

 

0

julitoss, I can't reproduce this on Ubuntu 16.04, the same version.
Scrolling behavior doesn't change if I add/remove lines.Do you have any custom plugins enabled (Settings | Plugins | Show: Custom)?
If you do, please turn all of them off and check if it's better.

0

Yes I had. After disabling the plugins it works faster.

This were the plugins I had:

php 1up
php advanced autocomplete
php annotations
php inheritdoc helper
php inspections ea extended
php toolbox

0

Thanks for the update. Feel free to comment back if the issue reoccurs

0

+1 for me, i just made the switch to Atom last night because i got really frustrated with lagging and performance issue, Tried PHPStorm on 3 different computers and the only solution i found was to disable everything that made it an IDE. So no use to me anymore, may switch back if they ever get this issue fixed but until then Rock On, Github's Atom for me.

1

Amy, you can submit a support request and we can closely inspect the performance issue you're experiencing.

0

@julitosss thank you. I'll take a good look at chamilo-lms project.

0

Well after a 2 weeks of working, the issue is still there.

It's noticeable when comparing the performance between a file of 10k and 1k.

It's still slow I have only the symfony2 plugin on. Thanks Amy for the advice, I will check atom.

1

Same here, couple of weeks ago the slowness started to make the PhpStorm 2016.2.2 just unusable.
Using just for Javascript Editing only.
Without any reason, with no indexing, the cpu load is rising to 100-200%.

MacBook Pro i7 2.8 Gz 16Gb SSD
macOS Sierra 10.12.1
PhpStorm 2016.2.2
Build #PS-162.2380.11, built on October 24, 2016
JRE: 1.8.0_112-release-287-b3 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

1

UPD: sitting for several minutes and doing nothing in phpstorm, I see this:

95695  phpstorm     238.8 61:34.88 64/1   2    359   1235M+ 56K    184M-  95695 1     running

0

I use PhpStorm 10.2.2 with Magento 2 project.  When start indexing files it freezes. Processor 100% usage. Reindex all files take ~7 hours. 

OS X El Captain
4 GHz Intel Core i7
8Gb ram 

0

@Maks Nikitin - annoyed enough to file a proper support request with logs, profiles and all?

@everyone posting "me too" here won't help, really. On the contrary, filing a support request, providing logs and CPU profiles does wonders for next build.

0

Me too.

i have used version 7.X before and it was fine. But it does not support php7 syntax that's why i updated to 2016.X and suffering. 

There are two slowest operations:

1. large files - 100% CPU and slow, slow, slow

2. git annotate - in console it works immediately but phpstorm make it in 60+ seconds ... 

I do not see any reason to attach more snapshots or logs because you can download https://github.com/chamilo/chamilo-lms/tree/1.11.x and try to edit files and annotate them. Which logs or snapshots do you need if you have 100% reproduce case ? 

1

Please sign in to leave a comment.