A sebességek egyszerű összevetésére a PiBBP osztályunkból egyszerűsített PiBBPBench osztályt és annak C illetve C Sharp nyelvi átíratait használjuk, illetve a Java osztályból a bináris futtathatóval is számolunk. A következő két táblázatban tehát a a Pi hexadecimális kifejtésének (0. pozíciótól számított) 106., 107., 108. hexa jegyét határozzuk meg és közben megmérjük az ehhez szükséges időt.
Az első táblázat számításait egy Fedora Linux Core 5™ operációs rendszerrel felszerelt, 2.6.17.7 verziójú kernellel ellátott Sun W1100Z Workstation (AMD Opteron Mhz processzor, 1G memória) gépen gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3) verziójú gcc (gij (GNU libgcj) version 4.1.0 20060304 (Red Hat 4.1.0-3)) és java version "1.6.0-beta2" verziójú Sun-os Java, a Java Platform, Standard Edition 6 Development Kit™ mellett végeztük el.
A második táblázat számításait egy Windows XP™ operációs rendszerrel ellátott Intel Celeron 1.7Ghz processzoros, 768 M memóriával felszerelt gépen C Sharp tekintetében a Microsoft .NET Framework Software Development Kit 2.0™ és Java tekintetében a java version "1.6.0-beta2" verziójú Sun-os Java, a Java Platform, Standard Edition 6 Development Kit™ mellett végeztük el.
A C forrásból készítünk bináris futtathatót, majd a Java forrásból ugyancsak bináris futtathatót, végül a Java forrásból a hagyományos class bájtkódot. A fordítások után mindhármat futtatjuk egymás után.
[norbi@niobe ~]$ gcc pi_bbp_bench.c -o pi_bbp_bench -lm
[norbi@niobe ~]$ gcj -o pibbpbench --main=PiBBPBench PiBBPBench.java
[norbi@niobe ~]$ javac PiBBPBench.java
[norbi@niobe ~]$ ./pi_bbp_bench
6
4.390000
[norbi@niobe ~]$ ./pibbpbench
6
6.386
[norbi@niobe ~]$ java PiBBPBench
6
4.246
A forrásokban megemeljük a d értékét, most a 107. jegyet vizsgáljuk. Újra fordítunk, majd futtatunk.
[norbi@niobe ~]$ gcc pi_bbp_bench.c -o pi_bbp_bench -lm
[norbi@niobe ~]$ gcj -o pibbpbench --main=PiBBPBench PiBBPBench.java
[norbi@niobe ~]$ javac PiBBPBench.java
[norbi@niobe ~]$ ./pi_bbp_bench
7
51.190000
[norbi@niobe ~]$ ./pibbpbench
7
74.503
[norbi@niobe ~]$ java PiBBPBench
7
49.465
A forrásokban tovább emeljük a d értékét, most a 108. jegyet vizsgáljuk. Megint újra fordítunk, majd futtatunk.
[norbi@niobe ~]$ gcc pi_bbp_bench.c -o pi_bbp_bench -lm
[norbi@niobe ~]$ gcj -o pibbpbench --main=PiBBPBench PiBBPBench.java
[norbi@niobe ~]$ javac PiBBPBench.java
[norbi@niobe ~]$ ./pi_bbp_bench
12
586.000000
[norbi@niobe ~]$ ./pibbpbench
12
854.993
[norbi@niobe ~]$ java PiBBPBench
12
556.935
Az alábbi táblázatba foglaljuk eredményeinket.
|
Pozíció |
0xJegy |
C [sec] |
gcj [sec] |
Java [sec] |
|---|---|---|---|---|
|
106 |
6 |
4.39 |
6.386 |
4.246 |
|
107 |
7 |
51.19 |
74.503 |
49.465 |
|
108 |
C |
586.0 |
854.993 |
556.935 |
A.1. táblázat - Java, gcj és C egyszerű sebesség összehasonlítása
C:...> csc PiBBPBench.cs
C:...> javac PiBBPBench.java
C:...> PiBBPBench
6
10,65625
C:...> java PiBBPBench
6
12.578
A forrásokban megemeljük a d értékét, most a 107. jegyet vizsgáljuk. Újra fordítunk, majd futtatunk.
C:...> csc PiBBPBench.cs
C:...> javac PiBBPBench.java
C:...> PiBBPBench
7
125,0625
C:...> java PiBBPBench
7
147.407
Az alábbi táblázatba foglaljuk eredményeinket.

Előző
Előző