Aptana Studio Optimization

I’ve been picking up a decent PHP & Python IDE for some period and decided to try Aptana Studio. I had Eclipse with PHPEclipse installed for some time but then dropped it because I thought it was too slow. Aptana Studio isn’t faster than Eclipse + PHPEclipse in any way but I liked it.

This time I decided to tune Aptana’s Java virtual machine to achieve top possible performance. To do that I edited the file AptanaStudio.ini usually located in “C:\Users\<YOUR_USERNAME\AppData\Local\Aptana Studio 1.2″ if you install it on Vista using default settings. You may just search for AptanaStudio.ini to find out where it is.

So here is the contents of my file. I will explain the meaning of each line I added or modified. The arguments added or modified are located after -vmargs (arguments to the virtual machine).

-name
Aptana
Studio
-vmargs
-Xmx384M
-Xms128M
-Xverify:none
-XX:+UseParallelGC
-XX:+AggressiveOpts
-XX:+UseFastAccessorMethods
-XX:CompileThreshold=100
-Djava.awt.headless=true
-Djava.awt.nativeDoubleBuffering=true

  • Xmx384M – maximum heap(memory) size Aptana can consume (384Mb). This value is set automatically by the installer based on the amount of memory installed on your computer. You may adjust it to give Java machine more memory to cache compiled code
  • Xms128M – the initial heap(memory) size. It is the minimum amount of memory Aptana will consume. Increasing this value will speed up start up a little
  • Xverify:none – skip the class verification stage during class loading . Using -Xverify:none disables Java class verification, which can provide a 10-15% improvement in startup time
  • XX:+UseParallelGC – use parallel (throughput) garbage collector. Can provide significant performance boost on modern computers with several cores or processors. Surpisingly, it shows good performance even on single core processors
  • XX:+AggressiveOpts – turns on point performance optimizations that are expected to be on by default in upcoming releases of Java machine.
  • XX:+UseFastAccessorMethods – turns on fast method entry code for accessor method. Improves performance.
  • XX:CompileThreshold=100 – this switch will make startup time slower, by Java machine to compile many more methods down to native code sooner than it otherwise would. The reported result is snappier performance once Aptana  is running, since more of the UI code will be compiled rather than interpreted. This value represents the number of times a method must be called before it will be compiled.
  • Djava.awt.headless=true – this line is present in the .ini file by default
  • Djava.awt.nativeDoubleBuffering=true – tells the UI to use hardware double buffering instead of drawing everything in software. Not sure it have any effect because of the switch above (headless=true) which tells Java there is no monitor or keyboard connected to the computer

The result of the modifications of AptanaStudio.ini is faster and more responsive Aptana. I also use the Port of Ruby Blue color theme for Aptana which looks very nice :) See the screenshot below:

Aptana Studio with color theme port of ruby

Aptana Studio with color theme "Port of Ruby Blue"

Share and Enjoy:
  • Digg
  • StumbleUpon
  • del.icio.us
  • Furl
  • Reddit
  • Technorati
  • Ma.gnolia
  • Add to favorites
  • MySpace
  • Slashdot
  • Twitter

Comments 6

  1. Senthil Raja wrote:

    Thanks

    This made me free from my worries about aptana memory occupancy.

    Posted Wednesday February 10th, 2010 at 08:49 AM
  2. Chris wrote:

    Thank you very much from Germany! Great article!

    Posted Friday February 19th, 2010 at 07:26 AM
  3. eero wrote:

    Great tips! Cleared away all my lag issues I had.

    Posted Friday March 5th, 2010 at 01:11 PM
  4. Andrew wrote:

    I’m glad to help :)

    Posted Sunday March 7th, 2010 at 11:35 AM
  5. Guido wrote:

    Thanks a lot. I’m running an “exaggerated” eclipse IDE (PHP, Modelling, C/C++, R/StatET,…). + Apatana caused heavy memory problems. Your advices were helpful!

    Posted Wednesday March 10th, 2010 at 11:28 AM
  6. Andrew wrote:

    I’m glad to help! :)

    Posted Wednesday March 10th, 2010 at 12:09 PM

Post a Comment

Your email is never published nor shared. Required fields are marked *