Paper detail

A Comparative Study of Application-level Caching Recommendations at the Method Level

Performance and scalability requirements have a fundamental role in most large-scale software applications. To satisfy such requirements, caching is often used at various levels and infrastructure layers. Application-level caching -- or memoization -- is an increasingly used form of caching within the application boundaries, which consists of storing the results of computations in memory to avoid re-computing them. This is typically manually done by developers, who identify caching opportunities in the code and write additional code to manage the cache content. The task of identifying caching opportunities is a challenge because it requires the analysis of workloads and code locations where it is feasible and beneficial to cache objects. To aid developers in this task, there are approaches that automatically identify cacheable methods. Although such approaches have been individually evaluated, their effectiveness has not been compared. We thus in this paper present an empirical evaluation to compare the method recommendations made by the two existing application-level caching approaches at the method level, namely APLCache and MemoizeIt, using seven open-source web applications. We analyse the recommendations made by each approach as well as the hits, misses and throughput achieved with their valid caching recommendations. Our results show that the effectiveness of both approaches largely depends on the specific application, the presence of invalid recommendations and additional configurations, such as the time-to-live. By inspecting the obtained results, we observed in which cases the recommendations of each approach fail and succeed, which allowed us to derive a set of seven lessons learned that give directions for future approaches to support developers in the adoption of this type of caching.

preprint2022arXivOpen access
0citations
0reviews
0saves
Nocode
Nodataset
0institutions

Next steps

Decide what to do with this paper

Use like or dislike for the fast social read. The more specific scholarly feedback stays available below when needed.

Log in to curate

Reading frame

Keep the important context close to the paper

Keep the important signals around this paper in one place: votes, save state, collection context, reviews and the metadata you need before deciding what to do next.

Institutions

Add specific reaction

Move through the context

Research map

Open full explorer

Move through nearby people, institutions, topics and adjacent work without leaving the paper page.

Building this graph slice

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Structured reviews

0 review(s)

ContributeLeave structured feedbackUse the review template when you have a concrete strength, concern or method question.Open review form

No structured reviews yet. High-signal critique starts here.

Work discussion

0 comment(s)

DiscussAdd a high-signal commentKeep quick notes, caveats and replication pointers separate from formal reviews.Open comment form

No discussion yet. The first strong comment sets the tone.