10 Replies Last post: Dec 10, 2008 1:24 AM by Roman.Chernyatchik  
Nicholas F Newbie 32 posts since
Nov 6, 2008
Currently Being Moderated

Dec 2, 2008 6:35 AM

large file performance

Hi,

 

I'm noticing some issues when handling very large yaml files in rubymine. Editing up and down isn't slow, but side to side takes forever. Another problem I've noticed is that the ide freezes up when the same very large yaml file is opened.

 

Cheers,

Nicholas

Oleg Shpynov JetBrains 1,172 posts since
Nov 6, 2007
Currently Being Moderated
Dec 2, 2008 2:07 PM in response to: Nicholas F
Re: large file performance

Hello Nicholas,

I'm noticing some issues when handling very large yaml files in rubymine. Editing up and down isn't slow, but side to side takes forever. Another problem I've noticed is that the ide freezes up when the same very large yaml file is opened.

We have several questions:

Could you please describe your environment?

How many lines of code do you mean by large file?

 

We use third party lexer (JvYAML by Ola Bini) to process YAML files. Anyway we are going to investigate this.

 

Thanks,

Oleg

john  Newbie 28 posts since
Nov 4, 2008
Currently Being Moderated
Dec 2, 2008 5:33 PM in response to: Oleg Shpynov
Re: large file performance

I notice similar problems when editting large (~1500 lines) ruby files. Particularly when typing over a selection made using Column Mode.

 

John

Roman.Chernyatchik  JetBrains 1,449 posts since
Sep 18, 2007
Currently Being Moderated
Dec 3, 2008 12:40 PM in response to: Nicholas F
Re: large file performance

Nicholas,

  I think that the file isn't necessary for us. Instead of it you can take CPU snapshot - see article "How to report IDEA performance problems and take CPU snapshots" at http://support.jetbrains.com/kb/entry.jspa?externalID=192 . Such snapshot will not show us content of your files but will outline which part of RubyMine works slowly.

Roman.Chernyatchik  JetBrains 1,449 posts since
Sep 18, 2007
Currently Being Moderated
Dec 9, 2008 12:43 PM in response to: Nicholas F
Re: large file performance

nicholasf wrote:

 

but it didn't really reflect how Rubymine was set up on my mac - I had to move on; specifically, it assumed an installation directory which I couldn't find, etc..

Nicholas,

 

Excuse me, I've forgot that -agentlib:yjpagent option is enabled in RubyMine by default, so :

 



* Then run RubyMine and you should notice 2 new buttons in the toolbar, one for taking CPU snapshot, another one for memory snapshot. Press the CPU button and then perform the action which takes a lot of CPU resources on your machine. When finished press this button again to stop recording

* Save the snapshot and upload it toftp://ftp.intellij.net/.uploads/. Then tell us the file name and we'll investigate the issue.

I'll try to interpret the documents again if the problem reappears, but if you can let me know how to adjust the settings that would be great. It occurred to me that I may have the jvm heap size too low, or something along those lines.

By default maximum JVM heap size is set to 192 mb and this size should be enough for RubyMine. If RubyMine frequently shows that heap is full (see box in the right bottom corner), e.g. "180 of 192" or "190 of 192" we recommend your to send us memory snapshot.

Roman.Chernyatchik  JetBrains 1,449 posts since
Sep 18, 2007
Currently Being Moderated
Dec 10, 2008 12:39 AM in response to: Nicholas F
Re: large file performance

For big projects you can increase -Xmx (maximum heap size) up to 250 MB, but if RubyMine requires more memory probably it is a memory leak or we should optimize something.

Roman.Chernyatchik  JetBrains 1,449 posts since
Sep 18, 2007
Currently Being Moderated
Dec 10, 2008 1:24 AM in response to: Nicholas F
Re: large file performance

Open Info.plist located in /Applications/RubyMine-XXX.app/Contents, find Root -> Java -> VMOptions in Property editor or find string in text editor:

 

<key>VMOptions</key>
<string>-Xms16m -Xmx192m -XX:MaxPermSize=120m -Xbootclasspath/a:../lib/boot.jar -ea -agentlib:yjpagent=disablej2ee</string>


Changes will be applied after you restart RubyMine.

More Like This

  • Retrieving data ...