Sammanfattning
Software developers use collection data structures extensively and
are often faced with the task of picking which collection to use.
Choosing an inappropriate collection can have major negative
impact on runtime performance. However, choosing the right collection
can be difficult since developers are faced with many possibilities,
which often appear functionally equivalent. One approach
to assist developers in this decision-making process is to microbenchmark
datastructures in order to provide performance insights.
In this paper, we present results from experiments on Java collections
(maps, lists, and sets) using our tool JBrainy, which synthesises
micro-benchmarks with sequences of random method calls.
We compare our results to the results of a previous experiment on
Java collections that uses a micro-benchmarking approach focused
on single methods. Our results support previous results for lists, in
that we found ArrayList to yield the best running time in 90% of
our benchmarks. For sets, we found LinkedHashSet to yield the
best performance in 78% of the benchmarks. In contrast to
previous results, we found TreeMap and LinkedHashMap to yield better
runtime performance than HashMap in 84% of cases.
are often faced with the task of picking which collection to use.
Choosing an inappropriate collection can have major negative
impact on runtime performance. However, choosing the right collection
can be difficult since developers are faced with many possibilities,
which often appear functionally equivalent. One approach
to assist developers in this decision-making process is to microbenchmark
datastructures in order to provide performance insights.
In this paper, we present results from experiments on Java collections
(maps, lists, and sets) using our tool JBrainy, which synthesises
micro-benchmarks with sequences of random method calls.
We compare our results to the results of a previous experiment on
Java collections that uses a micro-benchmarking approach focused
on single methods. Our results support previous results for lists, in
that we found ArrayList to yield the best running time in 90% of
our benchmarks. For sets, we found LinkedHashSet to yield the
best performance in 78% of the benchmarks. In contrast to
previous results, we found TreeMap and LinkedHashMap to yield better
runtime performance than HashMap in 84% of cases.
| Originalspråk | engelska |
|---|---|
| Titel på värdpublikation | Proceedings of the 11th ACM/SPEC international conference on Performance Engineering |
| Förlag | Association for Computing Machinery (ACM) |
| Sidor | 42-45 |
| ISBN (tryckt) | 978-1-4503-7109-4 |
| DOI | |
| Status | Published - 2020 |
| Evenemang | 11th ACM/SPEC International Conference on Performance Engineering - Edmonton, Kanada Varaktighet: 2020 apr. 20 → 2020 apr. 24 |
Konferens
| Konferens | 11th ACM/SPEC International Conference on Performance Engineering |
|---|---|
| Förkortad titel | ICPE |
| Land/Territorium | Kanada |
| Ort | Edmonton |
| Period | 2020/04/20 → 2020/04/24 |
Ämnesklassifikation (UKÄ)
- Programvaruteknik
Fingeravtryck
Utforska forskningsämnen för ”JBrainy: Micro-benchmarking Java Collections with Interference (Work in Progress Paper)”. Tillsammans bildar de ett unikt fingeravtryck.Forskningsoutput
- 1 Doktorsavhandling (sammanläggning)
-
On the Challenges of Software Performance Optimization with Statistical Methods
Couderc, N., 2023 maj 17, Department of Computer Science, Lund University.Forskningsoutput: Avhandling › Doktorsavhandling (sammanläggning)
Öppen tillgångFil
Projekt
- 2 Avslutade
-
Smart Modules
Couderc, N. (Forskarstuderande), Reichenbach, C. (Handledare) & Söderberg, E. (Biträdande handledare)
2018/04/09 → 2023/06/15
Projekt: Avhandling
-
WASP startup package Christoph Reichenbach
Reichenbach, C. (Forskare)
2017/10/16 → 2021/10/15
Projekt: Forskning
Citera det här
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver