Hallo mein System ist ein:
XP Pro SP2Core 2 Duo E6850 3 GB RAM.
Java 1.5.
Jetzt habe ich eine Anwendung die relativ komplexe Operationen auf DOM-Bämen macht.
Um die Geschwindigkeit zu steigern werden mehrere Files in Threads bearbeitet.
Sagen wir mal acht. Um dies sicher zu stellen benutze ich einen Thread Executor.
Nun zu meinen Problem:
Da ich ja soviel Leistung wie möglich rausholen will, wäre es ja sinnvoll wenn die CPU voll ausgelastet
ist. Dies ist aber nicht der Fall. Auslastung liegt immer so bei 50-60%.
Durch ein Profiling weis ich das die Thread nicht geblockt sind und auch keine Sleeps sich
innerhalb dieser Threads befindet.
Bin da recht überfragt warum das Programm nicht die gesamte CPU-Last anzieht.
Bitte um euere Hilfe.
XP Pro SP2Core 2 Duo E6850 3 GB RAM.
Java 1.5.
Jetzt habe ich eine Anwendung die relativ komplexe Operationen auf DOM-Bämen macht.
Um die Geschwindigkeit zu steigern werden mehrere Files in Threads bearbeitet.
Sagen wir mal acht. Um dies sicher zu stellen benutze ich einen Thread Executor.
Code:
threadExecutor = Executors.newFixedThreadPool(8);
Nun zu meinen Problem:
Da ich ja soviel Leistung wie möglich rausholen will, wäre es ja sinnvoll wenn die CPU voll ausgelastet
ist. Dies ist aber nicht der Fall. Auslastung liegt immer so bei 50-60%.
Durch ein Profiling weis ich das die Thread nicht geblockt sind und auch keine Sleeps sich
innerhalb dieser Threads befindet.
Bin da recht überfragt warum das Programm nicht die gesamte CPU-Last anzieht.
Bitte um euere Hilfe.