Proteus-X goes even further than Proteus-S. Proteus-X can load and run a pre-compiled Linux executable without needing the original source code. The whole process environment is emulated and the running code optimised to achieve native speed - sometimes its even faster than native.
- No source code required!
- Full support for multi-threading and dynamic linking
- Built-in X-server for graphical applications
- Can be deployed on any architecture
- The current compiler has demonstrated speeds of 120% native speed on simple programs.
Early performance measurements
Some simple benchmarks are being used to test the speed of Proteus-X. The benchmarks are all compiled with the maximum native optimisation turned on (gcc -O4), with lower optimisation levels Proteus-X typically runs 120% native speed (yes - faster than native).
| Proteus-X | |
| Native executable |
Benchmark #1
Execution time comparison on Intel Core i7 950 @ 3GHz, 6GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 64-bit Windows 7 | Java 1.6 (64) ServerVM | 4.3 | 88% |
| 64-bit Windows 7 | Java 1.7 (64) ServerVM | 4.2 | 89% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 32bit) - Native 32 bit | 4.0 | 94% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 64bit) - Native 32 bit | 4.0 | 95% |
| 64-bit Ubuntu | Native 32 bit | 3.8 | 100% |
| 64-bit Ubuntu | Oracle JRE 1.6 ServerVM | 4.2 | 91% |
| 64-bit Ubuntu | OpenJDK 1.7 ServerVM | 4.1 | 91% |
Execution time comparison on Intel Core 2 Quad Q9000 @ 2GHz, 4GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 32-bit Windows 7 | Java 1.6 (32) ClientVM | 8.2 | 54% |
| 32-bit Windows 7 | Java 1.7 (32) ClientVM | 10.6 | 41% |
| 32-bit Windows 7 | Java 1.6 (32) ServerVM | 4.8 | 93% |
| 32-bit Windows 7 | Java 1.7 (32) ServerVM | 4.7 | 94% |
| 32-bit Windows 7 | Virtual Box (Ubuntu 32bit) | 5.0 | 88% |
| Ubuntu 32 | Native 32 bit | 4.4 | 100% |
| Ubuntu 32 | Oracle JRE 1.6 ServerVM | 4.8 | 92% |
| Ubuntu 32 | OpenJDK 1.7 ServerVM | 4.7 | 93% |
Benchmark #2
Execution time comparison on Intel Core i7 950 @ 3GHz, 6GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 64-bit Windows 7 | Java 1.6 (64) ServerVM | 7.9 | 100 |
| 64-bit Windows 7 | Java 1.7 (64) ServerVM | 7.9 | 100 |
| 64-bit Windows 7 | Virtual Box (Ubuntu 32bit) - Native 32 bit | 8.2 | 95% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 64bit) - Native 32 bit | 8.3 | 95% |
| 64-bit Ubuntu | Native 32 bit | 7.9 | 100% |
| 64-bit Ubuntu | Oracle JRE 1.6 ServerVM | 8.2 | 95% |
| 64-bit Ubuntu | OpenJDK 1.7 ServerVM | 8.0 | 98% |
Execution time comparison on Intel Core 2 Quad Q9000 @ 2GHz, 4GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 32-bit Windows 7 | Java 1.6 (32) ClientVM | 14.1 | 66% |
| 32-bit Windows 7 | Java 1.7 (32) ClientVM | 16.6 | 56% |
| 32-bit Windows 7 | Java 1.6 (32) ServerVM | 9.1 | 103% |
| 32-bit Windows 7 | Java 1.7 (32) ServerVM | 9.1 | 102% |
| 32-bit Windows 7 | Virtual Box (Ubuntu 32bit) | 11.8 | 79% |
| Ubuntu 32 | Native 32 bit | 9.3 | 100% |
| Ubuntu 32 | Oracle JRE 1.6 ServerVM | 9.1 | 103% |
| Ubuntu 32 | OpenJDK 1.7 ServerVM | 11.3 | 83% |
Benchmark #3
Execution time comparison on Intel Core i7 950 @ 3GHz, 6GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 64-bit Windows 7 | Java 1.6 (64) ServerVM | 7.9 | 100 |
| 64-bit Windows 7 | Java 1.7 (64) ServerVM | 7.9 | 100 |
| 64-bit Windows 7 | Virtual Box (Ubuntu 32bit) - Native 32 bit | 8.3 | 95% |
| 64-bit Windows 7 | Virtual Box (Ubuntu 64bit) - Native 32 bit | 8.3 | 95% |
| 64-bit Ubuntu | Native 32 bit | 7.9 | 100% |
| 64-bit Ubuntu | Oracle JRE 1.6 ServerVM | 8.3 | 95% |
| 64-bit Ubuntu | OpenJDK 1.7 ServerVM | 7.6 | 103% |
Execution time comparison on Intel Core 2 Quad Q9000 @ 2GHz, 4GB RAM
| Host OS | Software | Time (s) | % of native speed |
|---|---|---|---|
| 32-bit Windows 7 | Java 1.6 (32) ClientVM | 14.2 | 66% |
| 32-bit Windows 7 | Java 1.7 (32) ClientVM | 16.6 | 56% |
| 32-bit Windows 7 | Java 1.6 (32) ServerVM | 9.5 | 99% |
| 32-bit Windows 7 | Java 1.7 (32) ServerVM | 9.2 | 101% |
| 32-bit Windows 7 | Virtual Box (Ubuntu 32bit) | 10.6 | 88% |
| Ubuntu 32 | Native 32 bit | 9.3 | 100% |
| Ubuntu 32 | Oracle JRE 1.6 ServerVM | 9.0 | 104% |
| Ubuntu 32 | OpenJDK 1.7 ServerVM | 9.2 | 101% |
