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 VelikostFormát 
Ambroz_DP_2016.pdfPlný text práce2,22 MBAdobe PDFZobrazit/otevřít
A14N0116Pposudek-op.PDFPosudek oponenta práce905,75 kBAdobe PDFZobrazit/otevřít
A14N0116Phodnoceni-ved.PDFPosudek vedoucího práce805,73 kBAdobe PDFZobrazit/otevřít
A14N0116Pobhajoba.PDFPrůběh obhajoby práce237,35 kBAdobe PDFZobrazit/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.