English
Related papers

Related papers: Pinpointing Performance Inefficiencies in Java

200 papers

Embedded peripheral devices such as memories, sensors and communications interfaces are used to perform a function external to a host microcontroller. The device manufacturer typically specifies worst-case current consumption and latency…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-01-16 Daniel Moore , Alexander Dean

Energy-efficient execution of task-based parallel applications is crucial as tasking is a widely supported feature in many parallel programming libraries and runtimes. Currently, state-of-the-art proposals primarily rely on leveraging core…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-08 Jing Chen , Madhavan Manivannan , Bhavishya Goel , Miquel Pericàs

Online Data-Intensive applications face performance degradation from load variability and resource interference. While Thread State Analysis (TSA) based approaches enable identifying constrained subsystems, they lack the granularity to…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-26 Diogo Landau , Jorge G. Barbosa , Nishant Saurabh

Iterative methods are commonly used approaches to solve large, sparse linear systems, which are fundamental operations for many modern scientific simulations. When the large-scale iterative methods are running with a large number of ranks…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-30 Dingwen Tao , Sheng Di , Xin Liang , Zizhong Chen , Franck Cappello

To understand applications' memory usage details, engineers use instrumented builds and profiling tools. Both approaches are impractical for use in production environments or deployed mobile applications. As a result, developers can gather…

Software Engineering · Computer Science 2023-08-21 Gunnar Kudrjavets , Ayushi Rastogi , Jeff Thomas , Nachiappan Nagappan

Modern microarchitectures are some of the world's most complex man-made systems. As a consequence, it is increasingly difficult to predict, explain, let alone optimize the performance of software running on such microarchitectures. As a…

Performance · Computer Science 2019-03-06 Andreas Abel , Jan Reineke

To face future reliability challenges, it is necessary to quantify the risk of error in any part of a computing system. To this goal, the Architectural Vulnerability Factor (AVF) has long been used for chips. However, this metric is used…

Hardware Architecture · Computer Science 2023-08-02 Luc Jaulmes , Miquel Moretó , Mateo Valero , Marc Casas

Static program analysis tools are often required to work with only a small part of a program's source code, either due to the unavailability of the entire program or the lack of need to analyze the complete code. This makes it challenging…

Programming Languages · Computer Science 2020-09-14 Piyush Gupta , Nikita Mehrotra , Rahul Purandare

Hardware event counters offer the potential to reveal not only performance bottlenecks but also detailed microarchitectural behavior. In practice, this promise is undermined by their vague specifications, opaque designs, and multiplexing…

Hardware Architecture · Computer Science 2026-03-02 Nick Lindsay , Caroline Trippel , Anurag Khandelwal , Abhishek Bhattacharjee

Trying to cope with the constantly growing number of cores per processor, hardware architects are experimenting with modular non-cache-coherent architectures. Such architectures delegate the memory coherency to the software. On the…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-06-15 Foivos S. Zakkak , Polyvios Pratikakis

Serverless computing abstracts away server management, enabling automatic scaling and efficient resource utilization. However, cold-start latency remains a significant challenge, affecting end-to-end performance. Our preliminary study…

Software Engineering · Computer Science 2024-06-18 Syed Salauddin Mohammad Tariq , Ali Al Zein , Soumya Sripad Vaidya , Arati Khanolkar , Probir Roy

The key to speeding up applications is often understanding where the elapsed time is spent, and why. This document reviews in depth the full array of performance analysis tools and techniques available on Linux for this task, from the…

Performance · Computer Science 2007-05-23 Michel R. Dagenais , Karim Yaghmour , Charles Levert , Makan Pourzandi

Managed big data frameworks, such as Apache Spark and Giraph demand a large amount of memory per core to process massive volume datasets effectively. The memory pressure that arises from the big data processing leads to high garbage…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-06-05 Emmanouil Anagnostakis , Polyvios Pratikakis

Just-in-time (JIT) compilers are key components for many popular programming languages with managed runtimes (e.g., Java and JavaScript). JIT compilers perform optimizations and generate native code at runtime based on dynamic profiling…

Software Engineering · Computer Science 2026-03-09 Zijian Yi , Cheng Ding , August Shi , Milos Gligoric

The Stream API was added in Java 8 to allow the declarative expression of data-processing logic, typically map-reduce-like data transformations on collections and datasets. The Stream API introduces two key abstractions. The stream, which…

Programming Languages · Computer Science 2023-02-21 Eduardo Rosales , Matteo Basso , Andrea Rosà , Walter Binder

We present an efficient and expressive tool for the instrumentation of Java programs at the bytecode-level. BISM (Bytecode-Level Instrumentation for Software Monitoring) is a light-weight Java bytecode instrumentation tool that features an…

Programming Languages · Computer Science 2021-06-04 Chukri Soueidi , Marius Monnier , Ali Kassem , Yliès Falcone

Using memory located on remote machines, or far memory, as a swap space is a promising approach to meet the increasing memory demands of modern datacenter applications. Operating systems have long relied on prefetchers to mask the increased…

To develop software with optimal performance, even small performance changes need to be identified. Identifying performance changes is challenging since the performance of software is influenced by non-deterministic factors. Therefore, not…

Software Engineering · Computer Science 2023-03-28 David Georg Reichelt , Stefan Kühne , Wilhelm Hasselbring

The article investigates the relationship between time complexity and energy consumption in sorting algorithms, focusing on commonly-used algorithms implemented in Java: Bubble Sort, Counting Sort, Merge Sort, and Quick Sort. The…

Software Engineering · Computer Science 2024-05-09 Kristina Carter , Su Mei Gwen Ho , Mathias Marquar Arhipenko Larsen , Martin Sundman , Maja H. Kirkeby

Sensing systems powered by energy harvesting have traditionally been designed to tolerate long periods without energy. As the Internet of Things (IoT) evolves towards a more transient and opportunistic execution paradigm, reducing energy…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-01-05 Andres Gomez , Andreas Tretter , Pascal Alexander Hager , Praveenth Sanmugarajah , Luca Benini , Lothar Thiele