ano, ty stare ARM maj Jazelle - https://en.wikipedia.org/wiki/Jazelle a je to videt treba ve flagech jako "java" takto:
cat /proc/cpuinfo Features : swp half thumb fastmult vfp edsp java tls
Prakticky to ale nema zadne vyuziti v OSS bohuzel, protoze to je dodatecna placena featura - pokud uplatite ARM, tak vam treba reknou jak se to pouziva (ale nesmite to nikomu rict). Buhvi kam tohle smerovalo a kdo byl tim pravym zakaznikem.. mozna kdyby Android zustal na standardnim JVM a neudelal google java-klon-z-temu, tak to mohlo mit nejake uziti?
https://stackoverflow.com/questions/12904635/jazelle-on-beaglebone
ThumbEE (defakto následovník Jazelle) byl už lépe dokumentovaný a stejně se neuchytil. Hlavní důvod asi je, že JIT kompilátor produkuje lepší výsledky a má lepší informace než statický bytecode. Samozřejmě za cenu pomalejšího startu, ale to už dneska nikoho tak moc netrápí (ehm, tedy serverless ano).
Proto se divím tomuto projektu a srovnání 50* rychlejší - porovnávali to s JIT nebo statickým interepretem?
>>> Hlavní důvod asi je, že JIT kompilátor produkuje lepší výsledky a má lepší informace než statický bytecode.
Anecdotal evidence zo stack oveflow hovorí, že to produkovalo lepšie výsledky, než JIT. Ale nie až o toľko lepšie, aby sa oplatilo za používanie Jazelle/ThumbEE platiť, keďže JIT bolo zadarmo.
https://stackoverflow.com/questions/704840/what-is-your-experience-with-arm-jazelle/742918#742918
2. 5. 2025, 10:10 editováno autorem komentáře
IIRC se to využívalo zejména v J2ME. Ale bytecode J2ME měl svoje specifika, tuším chyběly instrukce RET a JSR, a vyžadovalo to tzv. preverifikaci, která sloužila k rychlejší verifikaci bytecode. Něco jako preverifikace se dostalo později i do standardní edice Javy (od 7 to je vyžadováno, ale existovalo to už dříve), ale v jiné podobě.
Ano, asi by Google teoreticky mohl použít J2ME bytecode s pokročilejší standardní knihovnou.
Jak již ale bylo zmíněno vedle, je to nejspíš slepá větev, když máme AOT a JIT.
Tak když už tady jiní k Pythonu přidali i Javu a Pascal, tak nemůžu nezmínit Lispovské počítače a skutečnost, že tenhle koncept vzniknul někdy v 60. letech a prvními takto podporovanými jazyky byly Algol a COBOL.
mae culpa...
Nicmene google toho moc nevraci, jak by se dal cython/nuitka pouzit na microcontroller... micropython potrebuje +- 256kB mista. Pokud to dobre chapu, nuitka slinkuje cython kod s libpython a vyrobi z toho binarku? Myslim ze libpython aktualne bude nasobne vetsi, nemluve o tom, ze tam asi nebude moc podpora pro non-posix/baremetal prostredi...
2. 5. 2025, 11:11 editováno autorem komentáře