http://performance.netbeans.org/howto/jvmswitches/index.html
http://wiki.netbeans.org/FaqScanningAndIndexingPerformanceHints#Use_different_Garbage_Collector_strategy
We've had several reports from users that choosing 'Concurrent Mark And Sweep' garbage collector improves scanning performance. This may or may not make a difference on your system. The problem is that people use different hardware, different versions of JDK and they have different default GC algorithm chosen by their JVM.
I added the required flags to my netbeans.conf file and performance improved to a point where it is now much better than it was previously.
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Xmx3096m -J-XX:PermSize=32m -J-XX:MaxPermSize=1024m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled"
My current configuration:
Intel(R) Xeon(R) Quad Core CPU @ 2.80GHz 6G Memory Multiple PHP projects containing a total of ~110,000 files. java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6) (fedora-23.b16.fc10-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)