Proteus-S cross-compiles C/C++/FORTRAN source code to Java bytecodes, thus removing dependence on specific hardware platforms.
Performance
The performance of Proteus-S is comparable to, and sometimes faster than, native execution. The program used for the following measurements was the Duchamp source finder software that is used by the Skynet community science project. On conventional computers such as 64 bit Intel machines, Proteus comes close to the execution speed of normal natively compiled software.
However, for the ARM board tested, Proteus-S was over twice as fast as the natively compiled software.
| Proteus-S | |
| Native executable |
Execution time comparison on Arm Cortex A9 Dual @ 1GHz, 2GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 32-bit Linux | Sun JRE 1.6 | 253 | 260% |
| 32-bit Linux | native 32-bit | 657 | 100% |
Execution time comparison on Intel Core i7 950 @ 3GHz, 6GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 64-bit Ubuntu | native 64-bit | 163 | 100% |
| 64-bit Ubuntu | OpenJDK 1.7 64-bit (-server) | 172 | 95% |
| 64-bit Ubuntu | SunJRE 1.6 64-bit (-server) | 176 | 93% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 64-bit) - native 64-bit | 177 | 92% |
| 64-bit Windows 7 | SunJRE 1.6 64-bit (-server) | 183 | 89% |
| 64-bit Ubuntu | native 32-bit | 183 | 89% |
| 64-bit Windows 7 | SunJRE 1.7 64-bit (-server) | 184 | 89% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 64-bit) - native 32-bit | 198 | 82% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 32-bit) - native 32-bit | 200 | 81% |
Execution time comparison on Intel Core 2 Quad Q9000 @ 2GHz, 4GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 32-bit Ubuntu | native 32-bit | 290 | 100% |
| 32-bit Ubuntu | Sun JRE 1.6 (-server) | 324 | 90% |
| 32-bit Ubuntu | OpenJDK 1.7 (-server) | 327 | 89% |
| 32-bit Windows 7 | 32-bit Java 1.7 (-server) | 340 | 85% |
| 32-bit Windows 7 | 32-bit Java 1.6 (-server) | 352 | 82% |
| 32-bit Windows 7 | 32-bit Java 1.6 (-client) | 418 | 69% |
| 32-bit Windows 7 | 32-bit Java 1.7 (-client) | 424 | 68% |
| 32-bit Windows 7 | Virtual Box (Ubuntu 32-bit) - native 32-bit | 432 | 67% |
