Portál AbcLinuxu, 11. května 2025 01:20
kdyby to někoho zajímalo, jakože nezajímáZrovna tuhle informaci stojí za to uvádět, protože řada lidí stále žije v bludu, že Java je pomalá. Přitom spousta softwaru, který zpracovává velké objemy dat nebo je zaměřen na minimální latence, se píše právě v Javě (nebo JVM jazycích).
To není žádný blud, Java JE pomalá v GUI aplikacích, se kterými se ti lidé potkávají. Že když Java aplikace po několika desítkách sekund nastartuje, provede po několika iteracích nějaké optimalizované JIT překlady a další magii co JVM dělá, se stane třeba i rychlejší než nativní C/C++ kód je pro ten usecase těch lidí irelevantní. Oni vidí jak to dlouho startuje a každá akce, která se koná poprvé (typický usecase v GUI) trvá ukrutně dlouho.
Že nějaká Casandra někde v cloudu (co žere 1TB RAM) dokáže odbavit bambilion requestů za minutu lidi, co musí denně pracovat s běžným korporátním systémem psaném v Javě, z "bludu" rozhodně nevyvede...
S Javou jsem začínal někdy na přelomu verze 4 a 5, to už bude pomalu dvacet let. A i v té době se běžně používaly desktopové aplikace a pracovat s tím normálně šlo, byť rychlost odezvy byla oproti nativnímu GUI horší. A za ty roky došlo jednak k řádovému nárůstu výkonu počítačů a jednak Java získala řadu optimalizací.
Java má stále určitý hendikep v podobě pomalejšího startu, ale to se bavíme třeba o 1-2 vteřinách u GUI aplikací nebo o nějakých 100 ms u CLI aplikací. Nic co by mělo reálný dopad na běžné používání. U dlouhodobě běžících aplikací (což jsou hlavně ty serverové, ale projeví se to i na desktopu) pak převažují ty výhody optimalizací a vyššího programovacího jazyka. Kromě toho tu máme GraalVM a Native Image, který to posouvá ještě o kus dál a tam Java dohání nativní aplikace i tou rychlostí startu.
Pokud tedy dneska někdo nadává na „pomalost Javy“, tak je podle mého zaseknutý kdesi v daleké minulosti nebo měl smůlu na fakt prasácky napsanou aplikaci (ale to ho může potkat bez ohledu na jazyk – taky si můžu zanadávat na ledasco…).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.