Název: | Výkonnostní a paměťová optimalizace nástroje JaCC |
Další názvy: | Performance and memory optimization of JaCC tool |
Autoři: | Ambrož, Jan |
Vedoucí práce/školitel: | Ježek Kamil, Ing. Ph.D. |
Oponent: | Lipka Richard, Ing. Ph.D. |
Datum vydání: | 2016 |
Nakladatel: | Západočeská univerzita v Plzni |
Typ dokumentu: | diplomová práce |
URI: | http://hdl.handle.net/11025/23661 |
Klíčová slova: | jacc;memory;optimization;java;ehcache;kryo |
Klíčová slova v dalším jazyce: | jacc;memory;optimization;java;ehcache;kryo |
Abstrakt: | Předmětem této práce je nástroj pro statickou analýzu kódu Java Class Comparator, zkráceně JaCC. Tento nástroj umožňuje ověřovat zdrojovou i binární kompatibilitu komponentových aplikací implementovaných v programovacím jazyce Java. Nedokonalostí tohoto nástroje jsou ovšem jeho vysoké paměťové požadavky. Hlavním cílem této práce je proto optimalizace tohoto nástroje, a to jak z hlediska jeho výkonnosti, tak především z hlediska jeho paměťové náročnosti. Nástroj JaCC při svém zpracování postupně vytváří a uchovává velké množství datových struktur, které jsou příčinou jeho vysokých paměťových požadavků. V rámci optimalizace nástroje JaCC byla provedena integrace knihovny Ehcache, která nabízí prostředky pro rozšíření úložného prostoru o paměť pevného disku. S využitím těchto prostředků potom může fyzická paměť fungovat jako mezipaměť a může uchovávat jen omezenou pracovní množinu datových struktur. Experimenty ukazují, že optimalizace nástroje přinesla úsporu paměti v rozmezí 25\% - 45\%. Tyto experimenty také potvrzují hypotézu, že je míra úspory paměti závislá na konkrétním případu užití nástroje a její hodnota je nepřímo úměrná na podílu datových struktur, které nebyly předmětem optimalizace. Vedlejším efektem této paměťové optimalizace je na druhé straně prodloužení průměrné délky doby běhu na 2 až 3 násobek původní délky doby běhu. Příčinou je použití pevného disku jako dodatečné úložní vrstvy, ovšem s vyšší přístupovou dobou. Jelikož je optimalizované řešení plně přizpůsobitelné, je možné hledat kompromis mezi mírou ušetřené paměti a délkou doby běhu. |
Abstrakt v dalším jazyce: | The subject of this thesis is the static code analysis tool Java Class Comparator, JaCC in short. This tool can verify binary and source compatibility of component applications implemented in Java programming language. The imperfection is its high memory requirements. The main purpose of this thesis is to optimize both memory requirements and performance of this tool. The JaCC tool progressively creates and keeps big amount of data structures during processing which leads to big memory consumption. In order to optimize the JaCC tool integration of Ehcache libraray was performed. This library provides resources to enhance storage space with another storage level - hard drive memory. With these resources physical memory can act as a cache and can store only limited data structure work set. The experiments show that the optimization has helped to reduce memory consumption by 25\% - 45\%. These experiments also confirm the theory that the memory saving rate directly depends on the particular use case of the JaCC tool. The value of this rate is inversely related to the share of data structures which were not the subject of this optimization. The side effect of this optimization is the lenghtening of the average run time up to three times. The main reason behind this is the usage of the hard drive as another storage level with higher access time. Since the optimized solution is fully configurable we can seek for the best compromise between the rate of saved memory and the solution's run time. |
Práva: | Plný text práce je přístupný bez omezení. |
Vyskytuje se v kolekcích: | Diplomové práce / Theses (KIV) |
Soubory připojené k záznamu:
Soubor | Popis | Velikost | Formát | |
---|---|---|---|---|
Ambroz_DP_2016.pdf | Plný text práce | 2,22 MB | Adobe PDF | Zobrazit/otevřít |
A14N0116Pposudek-op.PDF | Posudek oponenta práce | 905,75 kB | Adobe PDF | Zobrazit/otevřít |
A14N0116Phodnoceni-ved.PDF | Posudek vedoucího práce | 805,73 kB | Adobe PDF | Zobrazit/otevřít |
A14N0116Pobhajoba.PDF | Průběh obhajoby práce | 237,35 kB | Adobe PDF | Zobrazit/otevřít |
Použijte tento identifikátor k citaci nebo jako odkaz na tento záznam:
http://hdl.handle.net/11025/23661
Všechny záznamy v DSpace jsou chráněny autorskými právy, všechna práva vyhrazena.