Auflistung nach Autor:in "Reichelt, David Georg"
1 - 10 von 11
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragBerücksichtigung von Softwareperformanz im Entwicklungsprozess(Informatik 2014, 2014) Reichelt, David GeorgSoftware-Performance-Engineering (SPE) bezeichnet verschiedene Ansätze zur Performanzverbesserung von Software. Diese wurden bisher nicht vergleichend untersucht. Der vorliegende Beitrag beschreibt ein Vorgehen, um zu überprüfen, inwiefern die SPE-Ansätze die Entstehung performanter Software sicherstellen. Trotz des Vorhandenseins der SPE-Ansätze lassen sich bspw. beim Applikationsserver Apache Tomcat temporär im Entwicklungsversionen auftretende Performanzprobleme nachweisen. Dies deutet darauf hin, dass SPE-Techniken nicht bzw. nicht erfolgreich eingesetzt werden. Die semiautomatische Generierung von Performanztests könnte dieses Problem lösen, da mit dieser Performanzprobleme mit geringem Zusatzaufwand erkennbar wären. Dieser Beitrag schildert deshalb ein Vorgehen zur semiautomatischen Performanztestgenerierung.
- KonferenzbeitragBetter a Microbenchmark on a Cluster than a User at the Office: Flink Cluster Benchmarking(Softwaretechnik-Trends Band 39, Heft 3, 2019) Reichelt, David Georg; Meyer, Lars-Peter; Kühne, StefanWhen operating an Apache Flink cluster, performance problems may occur on all components of its setup. Reproducing those problems in different software or hardware components and on different nodes requires systematic experiments. We present an Apache Flink cluster benchmark set for server operators which is able to measure the performance of an Apache Flink cluster. This enables spotlighting irregularities in software or hardware behaviour.
- KonferenzbeitragGeneric Performance Measurement in CI: The GeoMap Case Study(Softwaretechnik-Trends Band 43, Heft 1, 2023) Reichelt, David Georg; Krauß, Hannes; Kühne, Stefan; Hasselbring, WilhelmContinuously developed industry projects with medium budget often focus on functional correctness, but not on optimal performance. This is partially caused by the lack of easily available approaches and tooling that check for performance changes. The tool Peass-CI examines performance changes by measurement and analysis of the duration of unit tests. We present a case study of establishing a continuous performance engineering process in GeoMap, a Spring based tool that allows to analyze the real estate market for real estate service and market experts. In the continuous performance engineering process, we monitored performance changes that happened during six months and derived performance improvements by code reviews and load test execution. We found that (1) continuous performance measurement gives detailed insights into performance changes and (2) performance improvements by source code changes are reproducible using performance measurement of unit tests in Peass-CI.
- ZeitschriftenartikelImproving Performance Analysis of Software System Versions Using Change-Based Test Selection(Softwaretechnik-Trends Band 35, Heft 3, 2015) Reichelt, David Georg; Scheller, FabianThe detection of performance bugs by measurements is very time-consuming since measurements must be repeated often in order to get reliable results. Especially in performance analysis of software system versions (PeASS), where performance bugs are detected by comparing the performance of unit tests of different revisions, the testing process takes much time. Using change-based test selection enables to execute only those performance unit tests which may have changed results. This leads to a significant reduction of test execution time.
- KonferenzbeitragMore is Less in Kieker? The Paradox of No Logging Being Slower Than Logging(Softwaretechnik-Trends Band 43, Heft 4, 2023) Reichelt, David Georg; Jung, Reiner; van Hoorn, AndréUnderstanding the sources of monitoring overhead is crucial for understanding the performance of a monitored application. The MooBench bench mark measures the monitoring overhead and its sources. MooBench assumes that benchmarking overhead emerges from the instrumentation, the data collection, and the writing of data. These three parts are measured through individual factorial experiments. We made the counter-intuitive observation that MooBench consistently and reproducibly reported higher overhead for Kieker and other monitoring frameworks when not writing data. Intuitively, writing should consume resources and therefore slow down (or, since is parallelized, at least not speed up) the monitoring. In this paper, we present an investigation of this problem in Kieker. We find that lock contention at Kieker’s writing queue causes the problem. Therefore, we propose to add a new queue that dumps all elements. Thereby, a realistic measurement of data collection without writing can be provided.
- KonferenzbeitragOn the Validity of Performance Antipatterns at Code Level(Softwaretechnik-Trends Band 39, Heft 4, 2019) Reichelt, David Georg; Kühne, Stefan; Hasselbring, WilhelmPerformance antipatterns at code level should be avoided to assure good application performance. Performance antipatterns avoidance is hard, since it requires up-to-date knowledge of these antipatterns. Common lists of antipatterns, like the performance rules of the static code checker PMD, only contain limited information about versions and circumstances where the performance antipatterns are valid. We close this gap by prodiving a suite of 30 performance benchmarks. Each of this benchmarks checks whether the performance antipattern is measurable in Java 6, 7, 8, 11 and 12. We find that two of the 30 performance checks are not valid in the current OpenJDK 12.
- KonferenzbeitragPerformanzanalyse von softwaresystemversionen: methode und erste ergebnisse(Software-engineering and management 2015, 2015) Reichelt, David Georg; Schmidt, JohannesJede Änderung an einem Softwaresystem kann eine Performanzveränderung hervorrufen. Dieser Zusammenhang ist jedoch bisher nicht umfassend empirisch untersucht worden. In diesem Beitrag wird ein Vorgehen zur Performanzanalyse von Softwareversionen beschrieben, mit dessen Hilfe die systematische Quantifizierung von Performanzveränderungen möglichen ist. Auf Basis erkannter Performanzveränderungen können anschließend Performanzprobleme abgeleitet werden. Als Anwendungsbeispiel wurde das Open-Source-Rahmenwerk Apache Commons IO untersucht.
- KonferenzbeitragSicherstellung von Perfomanzeigenschaften durch kontinuierliche Performanztests mit dem KoPeMe Framework(Software Engineering 2014, 2014) Reichelt, David Georg; Braubach, Lars
- TextdokumentTestselektion für Performanzregressionsbenchmarks in CI-Prozessen(INFORMATIK 2021, 2021) Reichelt, David Georg; Kühne, Stefan; Hasselbring, WilhelmUm Performanzregressionen zu finden, werden in Softwareprojekten Performanzregressionsbenchmarks (PRB) eingesetzt. Die Ausführung der PRBs ist zeitaufwändig und wird deshalb oft unregelmäßig, bspw. nach jedem Release, ausgeführt. Dadurch können Regressionen übersehen werden. Darüber hinaus ist die Ursachenanalyse für länger vergangene Regressionen schwer. Durch Quelltextänderungen verursachte Performanzänderungen können schneller gefunden werden, indem nur die PRBs ausgeführt werden, die geänderten Quelltext aufrufen. Wir stellen eine Erweiterung des Testwerkzeugs Peass vor, mit dem die Regressionstestselektion für PRBs möglich wird. Hierbei werden PRBs unterstützt, die mit dem Benchmarkingframework jmh4 implementiert sind. Wir evaluieren unsere Erweiterung anhand der PRBs des Anwendungsservers jetty5 und zeigen, dass Peass die Benchmarkausführungsdauer um 97,9% reduziert und alle von den PRBs abgedeckten Regressionen findet.
- TextdokumentTowards an Infrastructure for Energy Model Computation and Linkage(INFORMATIK 2020, 2021) Reichelt, David Georg; Kühne, Stefan; Scheller, Fabian; Abitz, Daniel; Johanning, SimonDecision makers strive for optimal ways of production and usage of energy. To adjust their behavior to the future situation of markets and technology, the execution of different models predicting e.g. energy consumption, energy production, prices and consumer behavior is necessary. This execution is itself time-consuming and requires input data management. Furthermore, since different models cover different aspects of the energy domain, they need to be linked. To speed up the linkage and reduce manual errors, these linkage needs to be automated. We present IRPsim, an infrastructure for computation of different models and their linkage. The IRPsim-infrastructure enables management of model data in a structured database, parallelized model execution and automatic model linkage. Thereby, IRPsim allows researchers and practitioners to use energy system models for strategic business model analysis.