JBrainy: Micro-benchmarking Java Collections with Interference (Work in Progress Paper)

Research output: Chapter in Book/Report/Conference proceedingPaper in conference proceedingResearchpeer-review

157 Downloads (Pure)

Abstract

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.
Original languageEnglish
Title of host publicationProceedings of the 11th ACM/SPEC international conference on Performance Engineering
PublisherAssociation for Computing Machinery (ACM)
Pages42-45
ISBN (Print)978-1-4503-7109-4
DOIs
Publication statusPublished - 2020
Event11th ACM/SPEC International Conference on Performance Engineering - Edmonton, Canada
Duration: 2020 Apr 202020 Apr 24

Conference

Conference11th ACM/SPEC International Conference on Performance Engineering
Abbreviated titleICPE
Country/TerritoryCanada
CityEdmonton
Period2020/04/202020/04/24

Subject classification (UKÄ)

  • Software Engineering

Fingerprint

Dive into the research topics of 'JBrainy: Micro-benchmarking Java Collections with Interference (Work in Progress Paper)'. Together they form a unique fingerprint.

Cite this