SK

C++ vs. Python vs. PHP vs. Java vs. iné. Testy výkonu programovacích jazykov

Jedna z najdôležitejších vecí pri programovaní je samozrejme efektivita a rýchlosť algoritmov a ich spolupráca s CPU. Tu sú výsledky najpoužívanejších jazykov pri rovnakých operáciách.

Hneď na začiatku musíme povedať, že výsledky tohto testu nie sú kompletné a ani sa kompletné byť nepokúšajú. Zobrazujú výkon jednotlivých jazykov v jednom aspekte, a to hlavne: cykly, dynamické polia s číslami a základné matematické operácie. Každý programovací jazyk je samozrejme vo svojej podstate určený na použitie v rôznych oblastiach a aplikáciách. Preto aj použitie iných funkcií a algoritmov má veľký vplyv na konečný výkon a rýchlosť programu. Faktom ale zostáva, že rôzne jazyky si nevedú veľmi dobre pri určitých operáciách.

V nasledujúcej tabuľke môžeme vidieť časy jednotlivých programovacích jazykov a ich verzií (s informáciami o verzii v angličtine) a ich porovnania s inými jazykmi. V pravej časti tabuľky sú zdrojové kódy pre jednotlivé verzie. Testy bežali na Debian Linux 64-bit.

Jazyk

CPU čas

Pomalšie ako

Verzia jazyka

Zdroják

User

Systém

Celkovo

C++

Predch. V.

C++ (optimized with -O2)

0.915

0.058

0.973

g++ 6.1.1

link

Java 8 (non-std lib)

1.120

0.006

1.126

15%

15%

1.8.0_102

link

Python 2.7 + PyPy

1.386

0.128

1.514

55%

34%

PyPy 5.4.0

link

Go

2.646

0.110

2.757

183%

82%

1.7

link

C++ (not optimized)

2.896

0.058

2.954

203%

7%

g++ 6.1.1

link

PHP 7.0

6.568

0.171

6.739

592%

128%

7.0.10

link

Javascript (nodejs)

6.680

0.522

7.202

639%

6%

4.3.1

link

Java 8 (see notes)

12.123

0.078

12.200

1153%

69%

1.8.0_102

link

Ruby

12.912

0.235

13.147

1250%

7%

2.3.1

link

Python 3.5

17.753

0.142

17.895

1738%

36%

3.5.2

link

Python 2.7

23.565

0.126

23.691

2334%

32%

2.7.12

link

Perl

25.543

0.019

25.562

2526%

7%

5.22.2

link

Ak by sme mali celkovo zhrnúť tento test, mohli by sme hlavne povedať, že NodeJS verzia 4.3.x je oveľa pomalšia ako jej predchodca. Python a Perl taktiež trochu spomalili oproti C++, ktorý si viedol v novom benchmarku veľmi dobre. Java 8 pravdepodobne postupne spomaľuje čím viac cyklov v programe prebehne a alokuje taktiež viac a viac RAM.

Test opakuje blog famzah každý štvrťrok a na ich stránke si môžete preštudovať komplexnejšie informácie o programoch a skriptoch, aké používajú.

Zdroj: blog.famzah.net

Komentáre (2)
Jakub Kazimír
Ak nerobíme nejaké super výpočty ktoré musia byť poriadne efektívne tak rýchlosť daného jazyka si nemáme ako všimnúť. Taktiež naprogramovať niečo v C++ a naprogramovať to isté v dajme tomu ruby môže trvať oveľa menej času pre programátora. Otázka čo je dôležitejšie. Naprogramovať niečo za pár minút nech to robí trochu pomalšie alebo programovať to isté pár dni a vo výsledku to spraví pár ms v odpovedi.
tomasklucar
efktivita a rychlost kodu je jedna z najdolezitejsich veci pri programovani. ak pracujes s obrovskymi tabulkami a databazami, tak par hodin navyse na zefektivnenie programu (pouzitie ineho jazyka s inym principom riesenia problemu) ti moze usetrit hodiny ak nie viac a obrovske prachy. vyber vhodneho jazyka je preto prvorady, potom sa mozes venovat samotnemu kodu
Add new comment
TOPlist