Original title:
Testování výkonu za běhu v Javě
Translated title:
Run-time performance testing in Java
Authors:
Kotrč, Jaroslav ; Horký, Vojtěch (advisor) ; Tůma, Petr (referee) Document type: Master’s theses
Year:
2015
Language:
eng Abstract:
[eng][cze] This work focuses on relative comparisons of individual method's performance. It is based on Stochastic Performance Logic, which allows to express, for example, that one method runs at most two times longer than another method. These results are more portable than absolute values. It extends standard unit tests with performance assumptions, which are evaluated during actual run-time of a released application. Dynamically added and removed instrumentation is used for automatic modification of the production code. Instrumentation part uses DiSL framework to be able to seamlessly measure even Java system classes. Methods are measured sequentially, the number of concurrently measured methods is dynamically changed and the measurement code is removed as soon as required data are obtained. The results show that this approach may bring appreciably lower overhead peaks than measuring all methods at once. The prototype was compared with JMH tool and the results show that it is able to accurately measure methods running longer than 1 ms. Powered by TCPDF (www.tcpdf.org)Práce je zaměřena na relativní porovnávání výkonu jednotlivých metod. Základem je Stochastic Performance Logic, která například umožňuje vyjádřit, že běh jedné metody trvá nejvýše dvakrát déle než běh jiné metody. Tyto výsledky jsou přenositelnější než absolutní hodnoty. Standardní testy jednotek (metod) jsou rozšířeny o výkonnostní předpoklady a vyhodnoceny za skutečného běhu reálné aplikace. Produkční kód je automaticky upravován pomocí dynamicky přidávné a odebírané instrumentace. Pro instrumentaci je použit nástroj DiSL, což umožňuje hladce měřit i systémové třídy Javy. Metody jsou měřeny postupně, počet souběžně měřených metod se dynamicky mění a měřící kód je odstraněn, jakmile jsou získána potřebná data. Výsledky ukazují, že tímto způsobem lze snížit maximální okamžitý vliv měření na aplikaci oproti měření všech metod najednou. Srovnáním s nástrojem JMH se ukázalo, že vytvořený prototyp je schopen přesného měření metod běžících déle než 1 ms. Powered by TCPDF (www.tcpdf.org)
Keywords:
Java; performance testing; Stochastic Performance Logic; unit testing; Java; Stochastic Performance Logic; testování jednotek; testování výkonu
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/81252