PerfJavaDoc: extending API documentation with performance information
PerfJavaDoc: rozšíření API dokumentace informací o výkonnosti
bachelor thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/61800Identifiers
Study Information System: 154908
Collections
- Kvalifikační práce [11322]
Author
Advisor
Referee
Hnětynka, Petr
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
General Computer Science
Department
Department of Distributed and Dependable Systems
Date of defense
15. 6. 2015
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
Java, dokumentace, výkonnost, generování zátěžeKeywords (English)
Java, documentation, performance, workload generationJavadoc je dokumentační nástroj určený pro automatické generování API dokumentace přímo ze zdrojových kódů programu. Takto vygenerovaná dokumentace může u některých metod obsahovat slovní popis použitého algoritmu a jeho asymptotické složitosti, ten je však nepoužitelný v situaci, kdy potřebujeme znát přesnou dobu běhu metody vzhledem k některým charakteristikám. V této práci jsme se rozhodli rozšířit Javadoc o automatické generování výkonnostní části, která vývojářům dovolí změřit výkonnost metody vůči některým předem definovaným vlastnostem. Tyto vlastnosti se specifikují v takzvaném generátoru zátěže, což je metoda, jejímž úkolem je připravit argumenty měřené metody společně s instancí třídy, na které je měřená metoda zavolána. Separace měřené metody od generátoru zátěže pak vývojářům umožňuje jednoduché a srozumitelné psaní a snadné sdílení generátorů. Samotné měření výkonnosti metody pak probíhá na měřícím serveru, který může běžet na určeném referenčním stroji, a byl naprogramován tak, aby poskytoval co nejpřesnější výsledky s ohledem na platformu Java. Powered by TCPDF (www.tcpdf.org)
Javadoc is a documentation tool used for generating API documentation from Java source code. For some methods the generated documentation can contain description of the algorithm and its asymptotic complexity. However, such information is futile when the exact execution time of the method is needed with respect to certain critical characteristics. In this work we decided to enhance the Javadoc tool with a performance extension which permits to measure the performance of the method against the predefined characteristics. These characteristics are specified in a workload generator, which is a method used to prepare the actual arguments and instance for the measured method. The separation of the measured code and the preparatory code allows developers to implement both parts clearly and easily, and also share the generator amongst multiple methods. The measuring itself is performed by a measuring server which may run on a dedicated reference machine, and was programmed to provide accurate results with respect to the Java platform. Powered by TCPDF (www.tcpdf.org)