( asch | 2017. 12. 29., p – 16:30 )

X86 architektúrákon amúgy van egy olyan szorzás, ami 64 bitekből 128 bitet csinál. Ez nagyon hasznos művelet lenne, ha például sokbites aritmetikát akarunk írni (fraktál ábrázolás, RSA, stb) és tudtommal még C-ben sem lehet kihasználni, csak ASM-ben.

Java-ban tuti nem lehet kihasználni, mert nincs is 128 bites típus.

Egyik barátom elég sokat szórakozott ilyenekkel (fraktálrajzolós programot írt), nézte, hogy mit hoz ki a Java aritmetikából, és az jött neki ki, hogy ha nagyon ráfekszik (loop unroll kódgenerátorral, rengeteg local változó, stb), akkor nagyon meg lehet közelíteni a C-t.

De magasszintű trükkökkel (közelítések, nagy fekete területek levágása, stb) sokkal többet lehetett optimalizálni, mint ilyen alacsonyszintű trükkökkel.

Azon programok köre tehát, ahol a számábrázolás optimlaizálás számít nagyon szűk. És azokat is be lehet natív libként rántani Java alá (JNI), amikor nyilvánvalóvá válik, hogy ez a szűk keresztmetszet.