XML Feeds

.

[java-dev] Max and Java multiple core support

Steve Bursch sbursch at sonic.net
Sun Sep 2 14:10:01 MDT 2007


I wrote a small Java mxj patcher to test whether multiple Java threads were being scheduled on separate CPUs with machines that had dual core hardware support.  I developed and tested the mxj object and the patcher in a Windows environment.  The algorithms used in the mxj object were designed to be CPU speed-independent.

The mxj object and the patcher were designed in such a way that if the host machine had dual core hardware support, the test would run in 1 minute; if the host machine had only one CPU, the test would run in 2 minutes.  In the Windows environment, the patcher behaved as expected: single-CPU machines took 2 minutes to run the test, while 2-CPU machines took only 1 minute.  In the 2-CPU case, the patcher was effectively using both CPUs.

In the dual-core Mac environment, however, the very same patcher and mxj object, with no changes to either, takes 2 minutes to run.  These results are suggestive that both CPUs were not being fully utilized by the patcher.  I'm at a loss to explain these results.  Can anyone shed some light on this behavior?

The Mac machine is a MacPro running Mac OS 10.4.10.  The processors are 2 x 2.66 GHz. The machine has 4 GB of RAM. The machine is running Java for Mac OS X 10.4 Release 5.

For both Windows and Mac environments, the machines are running Max 4.6.3 and Jitter 1.6.3.  In the Windows environments, however, the Java version was Java 6, not Java 5.

If anyone has a suggestion about what may account for the difference in behavior between the Windows and Mac environments, I'd be grateful to read it.

Thanks in advance...Steve


More information about the java-dev mailing list