|
Optimalizace velikosti bajtkódu Javy
Poncová, Vendula ; Smrčka, Aleš (oponent) ; Kočí, Radek (vedoucí práce)
Tato práce se zabývá optimalizací bajtkódu jazyka Java zhlediska jeho velikosti. Popisuje virtuální stroj Javy a formát jeho instrukčního souboru a uvádí přehled některých knihoven pro manipulaci sbajtkódem. Spomocí těchto knihoven byla provedena analýza vybraného vzorku dat a nalezeny sekvence instrukcí, které by bylo možné optimalizovat. Na základě výsledků analýzy byly navrhnuty a implementovány metody pro optimalizaci velikosti bajtkódu. Velikost bajtkódu zkoumaného vzorku dat se po aplikaci metod snížila o zhruba 25%.
|
|
Generované peephole optimalizace v překladači LLVM
Melo, Stanislav ; Podivínský, Jakub (oponent) ; Hruška, Tomáš (vedoucí práce)
Jednou z důležitých vlastností aplikačně specifických procesorů je jejich výkon. Aby byl co největší, musí se překladač přizpůsobit potřebám procesoru, pre který bude překládat a generovat co nejefektívnejší kód. Jedním ze způsobů přizpůsobení se je hledání vhodných instrukcií, které je možné implementovat jako jednu instrukci s více výstupy. Následně se dá vygenerovaný kód zefektivnit pomocí peephole optimalizátoru, který vyhledává skupiny instrukcí, které může směnit za jejich efektivnejší varianty. Tato práce popisuje problém nacházení a výběru instrukcí s více výsledky. Taktéž poskytuje stručný přehled několika nejznámějších algoritmů na řešení tohoto problému. Na závěr skoumá uplatnění a začlenění řešení spolu s peephole optimalizacemi, do překladače LLVM.
|
|
Generované peephole optimalizace v překladači LLVM
Melo, Stanislav ; Podivínský, Jakub (oponent) ; Hruška, Tomáš (vedoucí práce)
Jednou z důležitých vlastností aplikačně specifických procesorů je jejich výkon. Aby byl co největší, musí se překladač přizpůsobit potřebám procesoru, pre který bude překládat a generovat co nejefektívnejší kód. Jedním ze způsobů přizpůsobení se je hledání vhodných instrukcií, které je možné implementovat jako jednu instrukci s více výstupy. Následně se dá vygenerovaný kód zefektivnit pomocí peephole optimalizátoru, který vyhledává skupiny instrukcí, které může směnit za jejich efektivnejší varianty. Tato práce popisuje problém nacházení a výběru instrukcí s více výsledky. Taktéž poskytuje stručný přehled několika nejznámějších algoritmů na řešení tohoto problému. Na závěr skoumá uplatnění a začlenění řešení spolu s peephole optimalizacemi, do překladače LLVM.
|
|
Optimalizace velikosti bajtkódu Javy
Poncová, Vendula ; Smrčka, Aleš (oponent) ; Kočí, Radek (vedoucí práce)
Tato práce se zabývá optimalizací bajtkódu jazyka Java zhlediska jeho velikosti. Popisuje virtuální stroj Javy a formát jeho instrukčního souboru a uvádí přehled některých knihoven pro manipulaci sbajtkódem. Spomocí těchto knihoven byla provedena analýza vybraného vzorku dat a nalezeny sekvence instrukcí, které by bylo možné optimalizovat. Na základě výsledků analýzy byly navrhnuty a implementovány metody pro optimalizaci velikosti bajtkódu. Velikost bajtkódu zkoumaného vzorku dat se po aplikaci metod snížila o zhruba 25%.
|
| |