V této práci bylo cílem prostudovat dostupné open source implementace srovnávacích testů výkonnosti platforem Java s jinými jazyky, vybrat implementaci s dobrou dokumentací a rozšířit ji tak, aby porovnávací testy byly spouštěny na větším počtu aktuálních verzí platforem Java. Vybranou implementaci jsem tedy rozšířil o tři další verze jazyka Java a provedl na nich testy dané implementace. Výsledkem jsou tabulky a grafy popisující výkon jednotlivých platforem. Provedené úpravy vybrané implementace jsou popsané v textové části práce tak, aby bylo možné v budoucnu rozšířit testování na další platformy
Anotace v angličtině
The aim of this work was to study the available open-source implementations of Java platform benchmarks with other languages, to select an implementation with good documentation and to extend it so that benchmarks run on a larger number of current versions of Java platforms. I extended the selected implementation by three more versions of the Java language and tested the implementation on them. The result of this work are tables and graphs describing the performance of individual platforms. Modifications made to the selected implementation are described in the text part of the work so that it is possible to further extend testing to other platforms.
V této práci bylo cílem prostudovat dostupné open source implementace srovnávacích testů výkonnosti platforem Java s jinými jazyky, vybrat implementaci s dobrou dokumentací a rozšířit ji tak, aby porovnávací testy byly spouštěny na větším počtu aktuálních verzí platforem Java. Vybranou implementaci jsem tedy rozšířil o tři další verze jazyka Java a provedl na nich testy dané implementace. Výsledkem jsou tabulky a grafy popisující výkon jednotlivých platforem. Provedené úpravy vybrané implementace jsou popsané v textové části práce tak, aby bylo možné v budoucnu rozšířit testování na další platformy
Anotace v angličtině
The aim of this work was to study the available open-source implementations of Java platform benchmarks with other languages, to select an implementation with good documentation and to extend it so that benchmarks run on a larger number of current versions of Java platforms. I extended the selected implementation by three more versions of the Java language and tested the implementation on them. The result of this work are tables and graphs describing the performance of individual platforms. Modifications made to the selected implementation are described in the text part of the work so that it is possible to further extend testing to other platforms.
Prostudujte dostupné open source implementace srovnávacích testů výkonnosti platforem Java s jinými jazyky.
Pro svou práci vyberte implementaci s dobrou dokumentací, rozšiřitelností a čitelností kódu.
Vybranou implementace rozšiřte tak, aby porovnávací testy byly spouštěny na větším počtu aktuálních verzí platforem testovaných jazyků. Zvažte také testování na jiných procesorových architekturách.
Upravený zdrojový kód podrobně komentujte a provedené úpravy popište v textové části práce tak, aby bylo možné v budoucnu rozšířit testování na další platformy.
Výsledky naměřené při testování prezentujte ve formě tabulek a grafů s popisem naměřených výsledků.
Zásady pro vypracování
Prostudujte dostupné open source implementace srovnávacích testů výkonnosti platforem Java s jinými jazyky.
Pro svou práci vyberte implementaci s dobrou dokumentací, rozšiřitelností a čitelností kódu.
Vybranou implementace rozšiřte tak, aby porovnávací testy byly spouštěny na větším počtu aktuálních verzí platforem testovaných jazyků. Zvažte také testování na jiných procesorových architekturách.
Upravený zdrojový kód podrobně komentujte a provedené úpravy popište v textové části práce tak, aby bylo možné v budoucnu rozšířit testování na další platformy.
Výsledky naměřené při testování prezentujte ve formě tabulek a grafů s popisem naměřených výsledků.
Seznam doporučené literatury
OAKS, Scott. Java Performance: The Definitive Guide: Getting the Most Out of Your Code. Sebastopol, Kalifornie, USA: O'Reilly Media, 2014. ISBN 1449358454.
OAKS, Scott. Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond. 2nd Edition. Sebastopol, Kalifornie, USA: O'Reilly Media, 2020. ISBN 1492056111.
COUDERC, Noric, Emma SÖDERBERG a Christoph REICHENBACH. JBrainy: Micro-benchmarking Java Collections with Interference. In: Companion of the ACM/SPEC International Conference on Performance Engineering [online]. New York, NY, USA: Association for Computing Machinery, 2020, s. 42–45 [vid. 2021-12-03]. ICPE ’20. ISBN 978-1-4503-7109-4.
GHERARDI, Luca, Davide BRUGALI a Daniele COMOTTI. A Java vs. C++ Performance Evaluation: A 3D Modeling Benchmark. In: Itsuki NODA, Noriaki ANDO, Davide BRUGALI a James J. KUFFNER, ed. Simulation, Modeling, and Programming for Autonomous Robots [online]. Berlin, Heidelberg: Springer, 2012, s. 161–172. Lecture Notes in Computer Science. ISBN 978-3-642-34327-8.
HUNT, Charlie. Java Performance. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional, 2011. ISBN 978-0-13-714252-1.
Seznam doporučené literatury
OAKS, Scott. Java Performance: The Definitive Guide: Getting the Most Out of Your Code. Sebastopol, Kalifornie, USA: O'Reilly Media, 2014. ISBN 1449358454.
OAKS, Scott. Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond. 2nd Edition. Sebastopol, Kalifornie, USA: O'Reilly Media, 2020. ISBN 1492056111.
COUDERC, Noric, Emma SÖDERBERG a Christoph REICHENBACH. JBrainy: Micro-benchmarking Java Collections with Interference. In: Companion of the ACM/SPEC International Conference on Performance Engineering [online]. New York, NY, USA: Association for Computing Machinery, 2020, s. 42–45 [vid. 2021-12-03]. ICPE ’20. ISBN 978-1-4503-7109-4.
GHERARDI, Luca, Davide BRUGALI a Daniele COMOTTI. A Java vs. C++ Performance Evaluation: A 3D Modeling Benchmark. In: Itsuki NODA, Noriaki ANDO, Davide BRUGALI a James J. KUFFNER, ed. Simulation, Modeling, and Programming for Autonomous Robots [online]. Berlin, Heidelberg: Springer, 2012, s. 161–172. Lecture Notes in Computer Science. ISBN 978-3-642-34327-8.
HUNT, Charlie. Java Performance. 1st edition. Upper Saddle River, NJ: Addison-Wesley Professional, 2011. ISBN 978-0-13-714252-1.
Přílohy volně vložené
CD ROM
Přílohy vázané v práci
grafy, tabulky
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Bakalář odprezentoval před komisí hlavní cíle a výsledky své bakalářské práce. Prezentace působila velmi dobrým dojmem, student vystihl hlavní body práce. Následně byl student seznámen s posudky vedoucího a oponenta diplomové práce. Bakalář postupně odpověděl na otázky oponenta práce.
Komise vznesla k obhajobě následující dotazy:
1) doc. Šilhavý: V závěru píšete, že jste vlastně nic nezjistil, protože není možné určit, co je nejlepší?
2) doc. Šilhavý: V čem tedy vidíte smysl Vaší práce?
3) doc. Čermák: Zkoušel jste to i na jiné platformě (ARM, risk, apod.)?
4) doc. Čermák: Kolik různých testů jste využíval?
5) doc. Čermák: Kolik bylo odlišných variant testů pro konkrétní výkonnostní metriky?