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

10 comments
Comment actions Permalink

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

0
Comment actions Permalink

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

John

0
Comment actions Permalink

Oleg,

It might be a complex problem, as just starting up RM this morning and opening the yaml file in question, everything is responsive. The yaml file has 13356 lines! It would be okay to see some sluggishness occasionally on a file like that, but the problem I ran into yesterday was frustrating. In addition, I had to shutdown RM and start it up again when handling a file of similar size.

I'm using a Mac Book Pro, 2.33 ghz, 4 gigs of RAM. So I'd expect things to be reasonably fast. I encountered this problem on build 500.

I'm rushed today but let me know if there's anything more I can tell you about the environment. I'll speak with management about sending you the file, if you want (it's a yaml conversion of a legacy database we're using with a client, so there might be privacy issues).

Thanks for the quick response.

Regards,
Nicholas

0
Comment actions Permalink

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.

0
Comment actions Permalink

Hi Roman,

A busy week last week, but the bug did appear again. I quickly followed the link above about profiling and capturing a snapshot of Rubymine, 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..

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.

Cheers,
N.

0
Comment actions Permalink

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.

0
Comment actions Permalink

Hi Roman,

That's fine. Yes, I just noticed those two buttons.

I think I actually increased the heap size. If I have I'll put it down and try to replicate the bug then take a cpu snapshot.

Regards,
Nicholas

0
Comment actions Permalink

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.

0
Comment actions Permalink

How can I check what my settings for the heap size are?

0
Comment actions Permalink

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.

0

Please sign in to leave a comment.