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 |
|
Java 8 (non-std lib) |
1.120 |
0.006 |
1.126 |
15% |
15% |
1.8.0_102 |
|
Python 2.7 + PyPy |
1.386 |
0.128 |
1.514 |
55% |
34% |
PyPy 5.4.0 |
|
Go |
2.646 |
0.110 |
2.757 |
183% |
82% |
1.7 |
|
C++ (not optimized) |
2.896 |
0.058 |
2.954 |
203% |
7% |
g++ 6.1.1 |
|
PHP 7.0 |
6.568 |
0.171 |
6.739 |
592% |
128% |
7.0.10 |
|
Javascript (nodejs) |
6.680 |
0.522 |
7.202 |
639% |
6% |
4.3.1 |
|
Java 8 (see notes) |
12.123 |
0.078 |
12.200 |
1153% |
69% |
1.8.0_102 |
|
Ruby |
12.912 |
0.235 |
13.147 |
1250% |
7% |
2.3.1 |
|
Python 3.5 |
17.753 |
0.142 |
17.895 |
1738% |
36% |
3.5.2 |
|
Python 2.7 |
23.565 |
0.126 |
23.691 |
2334% |
32% |
2.7.12 |
|
Perl |
25.543 |
0.019 |
25.562 |
2526% |
7% |
5.22.2 |
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
Jakub Kazimír
tomasklucar