Title: Výkonnostní a paměťová optimalizace nástroje JaCC
Other Titles: Performance and memory optimization of JaCC tool
Authors: Ambrož, Jan
Advisor: Ježek Kamil, Ing. Ph.D.
Referee: Lipka Richard, Ing. Ph.D.
Issue Date: 2016
Publisher: Západočeská univerzita v Plzni
Document type: diplomová práce
URI: http://hdl.handle.net/11025/23661
Keywords: jacc;memory;optimization;java;ehcache;kryo
Keywords in different language: jacc;memory;optimization;java;ehcache;kryo
Abstract: 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.
Abstract in different language: 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.
Rights: Plný text práce je přístupný bez omezení
Appears in Collections:Diplomové práce / Theses (KIV)

Files in This Item:
File Description SizeFormat 
Ambroz_DP_2016.pdfPlný text práce2,22 MBAdobe PDFView/Open
A14N0116Pposudek-op.PDFPosudek oponenta práce905,75 kBAdobe PDFView/Open
A14N0116Phodnoceni-ved.PDFPosudek vedoucího práce805,73 kBAdobe PDFView/Open
A14N0116Pobhajoba.PDFPrůběh obhajoby práce237,35 kBAdobe PDFView/Open


Please use this identifier to cite or link to this item: http://hdl.handle.net/11025/23661

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.