Treffer: Performance analysis of data structures in Java using micro benchmarking

Title:
Performance analysis of data structures in Java using micro benchmarking
Authors:
Publisher Information:
Uppsala universitet, Institutionen för informationsteknologi
Publication Year:
2024
Collection:
Uppsala University: Publications (DiVA)
Document Type:
Dissertation bachelor thesis
File Description:
application/pdf
Language:
English
Relation:
IT; kDV 24 021
Rights:
info:eu-repo/semantics/openAccess
Accession Number:
edsbas.6EACF8F8
Database:
BASE

Weitere Informationen

Choosing the right collection framework can be difficult, especially in a data-intensive environment. For this reason, Coupa Software AB in Uppsala has designed custom data structures. In this thesis, we compare the performance of the Java Collection framework, Eclipse collection, and Coupa's custom data structures for two classes provided by Coupa, TELongSet, and TELongLongSet. An evaluation of the garbage collectors Garbage First Garbage Collectors, Z Garbage Collectors, and Generational Z Garbage Collectors was also performed to analyze its effects in a system characterized by heavy object creation. The garbage collectors were tested in Coupas systems handling one million objects. The two classes were implemented using Eclipse Collections and Java Collection Framework, they were benchmark tested for throughput and compared with the existing custom data structures. The result of the garbage collector showed that Coupa should use G1 GC, complementary memory usage testing would be valuable before making a final decision. The Eclipse implementation of TELongLongSet performed more operations per second in 6 out of 8 methods compared to JCF. In the class TELongSet, Coupa’s original implementation performed best, and JCF performed slightly better than Eclipse. Switching to an open-source framework might be better, given the low maintenance cost, but more experimentation is needed. Given the limited scope of the present study, results may not generalize, and therefore we cannot make conclusive recommendations.