2009-02-07 14 views
20

Mi compañero de trabajo notó que cuando javac está compilando, solo utiliza un único núcleo. ¿Hay algo así como el comando -j con gcc para Java que nos permitirá distribuir la carga de trabajo del compilador entre núcleos o procesadores? Si no, ¿cree que esto alguna vez será posible o existe algún tipo de restricción fundamental como resultado del diseño de Java?¿Hay alguna forma de mejorar el rendimiento multinúcleo/multiprocesador del compilador Java?

El entorno es Linux con el Sun J2SE JDK 1.6.0.11.

Respuesta

5

Aunque no es exactamente una respuesta a su pregunta, algunos entornos de compilación como ant también admiten paralelización de compilaciones, por lo que si su gráfico de dependencias lo permite, puede tener múltiples javac ejecutándose al mismo tiempo.

+1

Respecto tarea paralela de hormiga: "Se debe considerar una tarea avanzada que debe ser usado en ciertas situaciones de procesamiento por lotes o de prueba, en lugar de un truco fácil para acelerar los tiempos de construcción en una CPU de múltiples vías" - http: // hormiga .apache.org/manual/CoreTasks/parallel.html –

+0

Creo que esta es la nueva URL de esa página http://ant.apache.org/manual/Tasks/parallel.html – Michael

Cuestiones relacionadas