5.948 it's getting really sluggish

Hi
I don't know if this is because my project has a lot of included libraries or because my code has a fair few implicits, but intellij is seeming very slow these days. For example pasting a few lines into a source file will send the system into a whirl of cpu activity and lock me out for 10+ seconds - making cut and paste really frustrating.

This is on a notebook running i7-2630QM with 8gb ram running intellij with these vm options

-Xms128m
-Xmx1024m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea


  • External Libraries
  • < 1.7 >
  • cc.spray_spray-base_1.0-M2
  • cc.spray_spray-can_1.0-M2
  • cc.spray_spray-client_1.0-M2
  • cc.spray_spray-io_1.0-M2
  • cc.spray_spray-server_1.0-M2
  • cc.spray_spray-util_1.0-M2
  • ch.qos.logback_logback-classic_1.0.0
  • ch.qos.logback_logback-core_1.0.0
  • com.google.guava_guava_r09
  • com.googlecode.classgenerator_classgenerator_0.6.4
  • com.googlecode.concurrentlinkedhashmap_concurrentlinkedhashmap-lru_1.2
  • com.googlecode.mapperdao_mapperdao_1.0.0.rc13
  • com.thoughtworks.paranamer_paranamer_2.3
  • com.typesafe.akka_akka-actor_2.0.3
  • com.typesafe.akka_akka-slf4j_2.0.3
  • com.typesafe_config_0.3.1
  • commons-dbcp_commons-dbcp_1.4
  • commons-logging_commons-logging_1.1.1
  • commons-pool_commons-pool_1.5.4
  • joda-time_joda-time_1.6.2
  • org.clapper_grizzled-slf4j_2.9.2_0.6.9
  • org.javassist_javassist_3.16.1-GA
  • org.jvnet_mimepull_1.6
  • org.objenesis_objenesis_1.2
  • org.parboiled_parboiled-core_1.0.2
  • org.parboiled_parboiled-scala_1.0.2
  • org.scala-lang_scala-library_2.9.2
  • org.scala-tools.time_time_2.9.1_0.5
  • org.scalastuff_scalabeans_0.2
  • org.scalaz_scalaz-core_2.9.2_6.0.4
  • org.slf4j_slf4j-api_1.6.4
  • org.specs2_specs2-scalaz-core_2.9.2_6.0.1_test
  • org.specs2_specs2_2.9.2_1.9_test
  • org.springframework_spring-asm_3.1.2.RELEASE
  • org.springframework_spring-beans_3.1.2.RELEASE
  • org.springframework_spring-core_3.1.2.RELEASE
  • org.springframework_spring-jdbc_3.1.2.RELEASE
  • org.springframework_spring-tx_3.1.2.RELEASE
  • postgresql_postgresql_9.1-901.jdbc4
  • sbt-and-plugins
  • scala-2.9.2


I am not using type-aware highlighting.

I am currently registering about 1 second of cpu time per second of working  (quite a lot goes in parallel) - but I've had a number of phone calls in that time so the actual tally is worse - a single keystroke just consumed 6s and typing
<hello>world</hello>
knocked up about 30s of cpu time - most of it after it had managed to autotype the </hello> bit.

My project is less than 5000 loc - although the libraries obviously consume a fair bit.

I have similar behaviour on another machine (but it's the same code, synced)

The project was built with sbt and gen-idea for the intellij stuff.

Any suggestions as to what might make it go faster? I've been experiencing these problems for a couple of weeks - so I don't know if it's related to the latest build or to bringing in all the spray and akka libraries - they both happened around the same time.

15 comments

If you see pauses in typing please try to capture CPU snapshot (http://devnet.jetbrains.net/docs/DOC-192).
However usual workaround is the following two things (it's currently known issues):
1. Close Structure View during typing (open only if it's neccessary using Ctrl+F12)
2. Remove from Project View "show members" setting.

Best regards,
Alexander Podkhalyuzin.

0

when you say "close structure view" do you mean slide it off to the side so there's just the word "structure". I can't see how to make it go away altoegher.

In which case -
structure view already shut and show members is off already too.
Will trye and sort out stnapshot

0

I just fixed (in Leda, to Nika it will be backported later this week) another possible performance and not only performance problem - StackOverflowError.
Please check your idea log file: http://devnet.jetbrains.net/docs/DOC-181
It contains all recorded exceptions.

Best regards,
Alexander Podkhalyuzin.

0

Alexander
I've got the latest plugin for 11.1.3 (leda still gives me problems)
I can confirm that prior to this I was getting stack overflows and since this I have not.
I can also confirm that it seems a bit faster but not hugely so.

Tim

0

So I still need CPU snapshot to check what causes this problem.

Best regards,
Alexander Podkhalyuzin.

0

I did actually send you a direct email with one yesterday - but that was old plugin - here is one with new plugin.
Further information:
The problems are much worse when I'm working in the test branch of my source - which is almost entirely SprayTest classes derived from specs2.mutable.Specification if that makes any difference.
The particular example is typing in character strings. I start typing between the quotes, the first character appears then there rest don't for a while -(3-4 seconds) long enough for me to click on the snapshot button in yourkit.
Easily repeatable.
I'll try and set up another example with cut and paste problem



Attachment(s):
idea.exe-2012-09-07(2).zip
0

Alexander - I haven't time to go into yourkit in any depth. If I experience several delays over a couple of minutes then do a snapshot does that tell you anything about what was happening, or do I actually have to do the snapshot while the delaying action is taking place?

0

It seems files, where you are typing are big and contains a lot of xml? We have such problem, because we haven't incremental lexer for xml parts (and lexer is working in awt thread, this is most probably causing your freezes).
One addition is about "Project View", try to hide it too, and check performance again. Is it faster?

Best regards,
Alexander Podkhalyuzin.

0

The best way to take snapshot only on freezing typing. Moreover it's better to do sampling (more information during collecting it). However it's ok to make snapshot on a bigger time (just in sampling case it will be very big snapshot), I can see freezes, when awt thread is doing something.

Best regards,
Alexander Podkhalyuzin.

0

Hi
No that's not the case. Nothing is big - files where I am typing have typically 100 - 150 loc and only 5 lines of xml.
I have a couple of file with quite a lot of xml fragments in them - it's my xml marshalling file where I build my xml code to push out over a rest interface. But that's no more than 300 loc.
If necessary I can supply code (though not via a public forum).

0

Hi - not clear on this. Is there something in particular I should do. I don't know yourkit - all I've got is a "save" button. I'm using community edition so it's in a separate app. Also any comment on all the stack overflows I keep getting?

0

It would be great to work with actual examples causing problems. Then I'll fix them much faster.
I've not got your e-mail with dump, so probably you have wrong e-mail. Actually it's Alexander.Podkhalyuzin@jetbrains.com. Let's move conversation to the e-mail thread.

Best regards,
Alexander Podkhalyuzin.

0

Sent an email about 30 minutes ago. did you get it?
Tim

0

It's ok now, thank you. Can't promise fixing this today (it's evening now in Russia), but I'll take a look on Monday.

Best regards,
Alexander Podkhalyuzin.

0

No problems. it's great that you're going to look at it as soon as Monday :-)

0

Please sign in to leave a comment.