A Kempelen Farkas Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerű felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

3.1. Egyszerű összehasonlítások a sebesség kérdésében

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.

Pozíció

0xJegy

C# [sec]

Java [sec]

106

6

10,65625

12.578

107

7

125,0625

147.407

A.2. táblázat - Java és C# egyszerű sebesség összehasonlítása