I'm running MOV with Linux 32 bits, with a Intel Core 2 Quad Q6600.
I've discovered that only one core is at 100% (the other core are between 0 to 20%) when MOV is running ("ant run").
Is there a way to increase the using of the others cores to increase the execution speed ? Using Linux 64 bits ? Other ways ?
I have run into a similar issue with another Java application. What I concluded then is that unfortunately the only way to take advantage of multi processors was to completely rethink the coding of the application and re-code some parts to take advantage of multithreading. That is not an easy task and could be a major project. You need to ask yourself: 1) is it worth the effort in terms of speed vs effort/ressources?, 2) which portions of the code need to be rewritten, 3) synchronization issues (database, etc.).
Are you sure that the 2nd core at 20% is running the JVM or a process/task initiated by MOV? I would tend to think that it's doing something independent of MOV and just relieving the other core from other non-MOV load.
The passage to 64 bits will help (a bit) but it is like your memory size, just another bottleneck. But huge improvements in execution times will come from multithreading.
Thank you very much for your answer.
I don't know exactly what the 2nd core at 20% is doing ?
I think you're right, is doing something else.