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:

Comments 6
Thanks
This made me free from my worries about aptana memory occupancy.
Posted Wednesday February 10th, 2010 at 08:49 AM ¶Thank you very much from Germany! Great article!
Posted Friday February 19th, 2010 at 07:26 AM ¶Great tips! Cleared away all my lag issues I had.
Posted Friday March 5th, 2010 at 01:11 PM ¶I’m glad to help
Posted Sunday March 7th, 2010 at 11:35 AM ¶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 ¶I’m glad to help!
Posted Wednesday March 10th, 2010 at 12:09 PM ¶Post a Comment