Run-time performance testing in Java
Testování výkonu za běhu v Javě
diplomová práce (NEOBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/62560Identifikátory
SIS: 143335
Katalog UK: 990020160510106986
Kolekce
- Kvalifikační práce [11985]
Autor
Vedoucí práce
Oponent práce
Tůma, Petr
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
15. 6. 2015
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Neprospěl
Klíčová slova (česky)
testování výkonu, testování jednotek, Stochastic Performance Logic, JavaKlíčová slova (anglicky)
performance testing, unit testing, Stochastic Performance Logic, JavaPrá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. Standartní testy jednotek jsou rozšířeny o výkonnostní předpoklady a vyhodnoceny za skutečného běhu reálné aplikace. Instrumentace kódu je dynamicky přidána a odebrána kvůli automatické úpravě produkčního kódu. 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 kvůli snížení vlivu měření. Výsledky ukazují, že pro aplikace náročné na procesor lze takto dosáhnout až 3-krát nižšího maximálního okamžitého vlivu měření než při měření všech metod najednou. Powered by TCPDF (www.tcpdf.org)
This work focuses on relative comparisons of individual methods 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. This 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, number of concurrently measured method is dynamically changed and measurement code is removed as soon as required data are obtained to avoid high overhead. The results show that for processor demanding application this approach may bring up to 3-times lower overhead peaks than measuring all methods at once. Powered by TCPDF (www.tcpdf.org)
