Ondřej Pražák - Bakalářská práce „CACAO: alternativní virtuální stroj Javy“
1. Informace k zadání
Jedním z cílů této bakalářské práce byla studie vlastností virtuálního stroje Javy s názvem CACAO VM. V současnosti se jedná o implementaci JVM, která sice není používána v takovém rozsahu jako HotSpot Client/Server, ovšem i CACAO VM může mít (a má) svoje praktické uplatnění, například v oblasti vestavěných zařízení. Z tohoto důvodu se ukazuje potřeba existence sady vhodných testů pro porovnání výkonnosti obou zmíněných typů JVM, což je i druhým cílem, který měla tato bakalářská práce splnit.
2. Práce s literaturou
Student v seznamu literatury na konci této bakalářské práce (strany 37 až 39) uvádí jak tištěné materiály, které byly využity pro studium virtuálního stroje CACAO VM (včetně diplomové práce jednoho ze spoluautorů této VM - Christiana Thalingera), tak i odkazy na dokumentaci k využitým technologiím i k obecným principům práce virtuálních strojů. Odkazy na použité informační zdroje jsou v textu uváděny průběžně korektní formou.
3. Hodnocení textu práce
Text práce je členěn do pěti logických celků. V úvodních dvou kapitolách jsou popsány obecné vlastnosti virtuálních strojů a vztah teorie i technologie virtuálních strojů (či obecně virtualizace) k JVM. Ve třetí kapitole je s dostatečnou hloubkou popsán virtuální stroj HotSpot, včetně popisu práce vybraných správců paměti implementovaných v tomto VM (zde bych pouze upozornil na špatné formátování stránky 19 v dodaném dokumentu PDF). Důležitou částí práce je čtvrtá kapitola s popisem virtuálního stroje CACAO i s popisem některých optimalizací prováděných při práci tohoto VM. Část pátá je věnována popisu jednotlivých testů společně se zhodnocením výsledků těchto testů. Celkově hodnotím text práce kladně.
4. Hodnocení praktické části
V praktické části této bakalářské práce bylo požadováno navrhnout a implementovat sadu benchmarků určených pro porovnávání výkonnosti jednotlivých virtuálních strojů, tj. především HotSpot client VM, HotSpot server VM a CACAO VM (alternativně byl HotSpot client/server spuštěn v režimu pouhé interpretace bajtkódu, tj. bez použití technologie JIT). Navržené testy podle mého názoru splnily body zadání, takže i tuto část práce lze hodnotit kladně. Vytkl bych možná jen název testu TestConnect, který evokuje benchmark měřící práci se sítí či připojení do databáze a nikoli spojování řetězců; zde by tedy bylo vhodnější použít například TestAppend či TestConcatenate.
5. Souhrnné hodnocení
Vzhledem k tomu, že tato bakalářská práce splnila body zadání, hodnotím ji známkou A.