ventajas student intellij idea full desventajas community caracteristicas java windows performance intellij-idea

java - student - intellij idea vs netbeans



Speedup IntelliJ-Idea (10)

Esta combinación funciona muy bien en mi Intellij13 corriendo en Mavericks:

Actualizado el 18 de julio de 2017 :

# custom IntelliJ IDEA VM options -ea -server -Xms2G -Xmx4096M -Xss2m -XX:MaxMetaspaceSize=2G -XX:ReservedCodeCacheSize=1G -XX:MetaspaceSize=512m -XX:+UseConcMarkSweepGC -XX:+DoEscapeAnalysis -XX:SoftRefLRUPolicyMSPerMB=50 -XX:+UnlockExperimentalVMOptions -Djava.net.preferIPv4Stack=true -Dsun.io.useCanonCaches=false -XX:LargePageSizeInBytes=256m -XX:+UseCodeCacheFlushing -XX:ParallelGCThreads=8 -XX:+DisableExplicitGC -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCDetails -XX:+PrintFlagsFinal -XX:+AggressiveOpts -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:+UseAdaptiveGCBoundary -XX:+UseSplitVerifier -XX:CompileThreshold=10000 -XX:+OptimizeStringConcat -XX:+UseStringCache -XX:+UseFastAccessorMethods -XX:+UnlockDiagnosticVMOptions -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedOops -XX:-OmitStackTraceInFastThrow -Dawt.useSystemAAFontSettings=lcd -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

Mantengo esta configuración actualizada en https://github.com/adben/config/blob/master/idea64.vmoptions

Estoy usando intelliJ para el desarrollo de Scala y obtuve 8 GB de RAM nueva la semana pasada, así que pensé: es hora de usarlo. Revisé mi administrador de tareas y encontré intelliJ usando ~ 250mb . Desde el eclipse, sabía que ajustar las opciones de JVM ayudaba mucho a mejorar la velocidad, así que busqué en Google ...

y encontré este para OS X. No pude encontrar la opción JVM inmediatamente, así que comencé a ajustar Xmx. En 1 GB, me di cuenta de que ya no comienza. Revisé la versión de intelliJ java, encontré que está obsoleta y es de 32 bits.

Entonces, para usar su JDK actual y 64 bit , debe cambiar su enlace de:

IntelliJ IDEA Community Edition 10.0.2/bin/idea.exe

a

IntelliJ IDEA Community Edition 10.0.2/bin/idea.BAT

y ajuste "Comenzar"

El murciélago busca JDK_HOME y usa 64 bits ahora.

Mis opciones de VM actuales, que se encuentran en

.../IntelliJ IDEA Community Edition 10.0.2/bin/idea.exe.vmoptions

son

-Xms512m -Xmx1024m -XX:MaxPermSize=512m -ea -server -XX:+DoEscapeAnalysis -XX:+UseCompressedOops -XX:+UnlockExperimentalVMOptions -XX:+UseParallelGC

En lugar de -XX:+UseParallelGC , puede usar -XX:+UseConcMarkSweepGC , que es

la opción aceptada para aplicaciones de escritorio, pero recientemente cambié al recopilador de rendimiento. porque con una máquina rápida y un montón lo suficientemente pequeño, tienes pausas rápidas, más rendimiento y no hay problemas con la fragmentación (ijuma. #scala)

Cambios:

-XX:+UseConcMarkSweepGC //removed // removed, because not needed with the lastest JVM. -XX:+UnlockExperimentalVMOptions -XX:+DoEscapeAnalysis -XX:+UseCompressedOops

Me atendré a estas opciones por ahora. Realmente me gustaría saber tu experiencia con eso.

¿Qué opciones funcionan mejor para ti? ¿Cómo puedo ocultar esta ventana de cmd mientras ejecuto intelliJ a través del .bat ? :)

Por cierto, aquí hay otro enlace para afinar intelliJ . Básicamente dice en p.20 / 21 para desactivar windows restore y antivirus para los directorios del sistema.

Otra forma de acelerar la inteligencia es poner la carpeta del sistema intellij en ramdrive (gracias OlegYch | h).

from idea.properties idea.system.path=${idea.home}/.IntelliJIdea/system

Consulte Superusuario para Win 7 64bit RAM Drive o este . 1 GB parece estar bien para mí.

Otra sugerencia que me dio un amigo es excluir los directorios del proyecto de tu antivirus (escanear al acceder)

Hay publicaciones similares sobre tuning Eclipse:


Hace algún tiempo estaba buscando las formas de acelerar la compilación de mi proyecto y ese es el resultado. Esto no es para IntelliJ IDEA en sí, pero ayudará mucho al (re) construir grandes proyectos y, supongo, también funcionará con otros IDEs. Además, describí el enfoque de Linux, pero estoy seguro de que Windows tiene sus propias implementaciones de discos RAM.

La forma más fácil de acelerar la compilación es mover la salida de compilación al disco RAM.

Configuración del disco RAM

Abrir fstab

$ sudo gedit /etc/fstab

(en lugar de gedit puedes usar vi o lo que quieras)

Configurar el punto de montaje del disco RAM

Estoy usando discos RAM en varios lugares de mi sistema, y ​​uno de ellos es /tmp , así que simplemente pondré mi salida de compilación allí:

tmpfs /var/tmp tmpfs defaults 0 0

En este caso, el tamaño del sistema de archivos no estará limitado, pero está bien, el tamaño de mi /tmp este momento es de 73 MB. Pero si teme que el tamaño del disco RAM sea demasiado grande, puede limitar su tamaño, por ejemplo:

tmpfs /var/tmp tmpfs defaults,size=512M 0 0

Configuración del proyecto

En IntelliJ IDEA, abra Project Structure ( Ctrl+Alt+Shift+S por defecto), luego vaya a Project - ''Project compiler output'' y muévalo al punto de montaje del disco RAM:

/tmp/projectName/out

(He agregado la carpeta projectName para encontrarla fácilmente si necesito llegar allí o voy a trabajar con varios proyectos al mismo tiempo)

Luego, vaya a Módulos, y en todos sus módulos vaya a Rutas y seleccione ''Heredar ruta de salida de compilación de proyecto'' o, si desea usar ruta de salida de compilación personalizada, modifique ''Ruta de salida'' y ''Probar ruta de salida'' de la manera en que lo hizo para proyectar la salida del compilador antes.

¡Eso es todo amigos!

PD Algunos números: tiempo de mi compilación de proyecto actual en diferentes casos (aprox):

HDD: 80s SSD: 30s SSD+RAM: 20s

PPS Si usa un disco SSD, además de acelerar la compilación, reducirá las operaciones de escritura en su disco, por lo que también ayudará a que su SSD viva feliz para siempre;


He hecho algunas pruebas y he descubierto que, para disminuir las pausas de GC, la siguiente combinación funciona mejor: -XX: + UseConcMarkSweepGC -XX: SoftRefLRUPolicyMSPerMB = 50.

Tampoco haré que el montón sea demasiado grande, 512 o incluso más pequeño está bien para mí. De lo contrario, cuando se llene, el GC tendrá que recorrerlo todo, lo que lleva algún tiempo.


Lo más útil que puede hacer por IntelliJ es tener mucha memoria libre para el almacenamiento en caché de disco . IntelliJ ahorra mucho de su trabajo de procesamiento en archivos en caché. Esto funciona bien si tiene mucha memoria libre, pero si su caché de disco es limitada, verá pausas regulares y de larga duración.

Sugeriría -XX:+UseConcMarkSweepGC lugar de G1 .

También trabajo copias locales de archivos para minimizar el retraso de acceso a archivos.

Por cierto : para el proyecto en el que estoy, noté la diferencia entre trabajar en una máquina con 24 GB y una con 48 GB, a pesar de que el montón máximo está configurado en 2 GB;)


No estoy seguro de por qué aún no se ha mencionado: puede activar el Power Save mode , que desactiva muchas actividades de fondo de IJ , incluida la Files Synchronization . Algunos artículos dicen que es posible desactivar la sincronización de archivos en las opciones de estructura del proyecto (como el artículo en respuesta por @ OJ278), pero no pude encontrar esta opción en IJ 14 , pero el Power Save mode parece deshabilitarlo.

Tengo una base de código bastante grande (código fuente AOSP ), por lo que la actividad HD debido a la sincronización de archivos de fondo es molesta ...


Para mí, cambiar al disco SSD mejoró mucho el rendimiento (especialmente para proyectos grandes).



Puedes usar el plugin optimizador de intellij:

https://zeroturnaround.com/free/optimizer-for-intellij-idea/

Con el complemento puedes:

  • Ajuste automático de las opciones de la máquina virtual
  • Inhabilitar verificación de clase
  • Limpiar cachés del sistema
  • Configurar herramientas de compilación externa
  • Validar el último Oracle JDK
  • Omitir creación y redespliegue

Respecto a:

¿Cómo puedo ocultar esta ventana de cmd mientras ejecuto intelliJ a través del .bat?

Use el comando ''start'' y javaw.exe juntos, entonces, si tiene:

SET JAVA_EXE=%IDEA_JDK%/jre/bin/java.exe ... "%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*

cambiarlo a:

SET JAVA_EXE=%IDEA_JDK%/jre/bin/javaw.exe ... start "Intellij IDEA" /b "%JAVA_EXE%" %JVM_ARGS% -cp "%CLASS_PATH%" %IDEA_MAIN_CLASS_NAME% %*


Usé esta combinación y está funcionando bien en mi entorno

-server -Xms2048m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=8 -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts -XX:+CMSClassUnloadingEnabled -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly -XX:ReservedCodeCacheSize=64m -XX:-TraceClassUnloading -ea -Dsun.io.useCanonCaches=false