Skip to content

Lunch & learn: "Macro-optimizing Java Applications" (with Roni Dover from Digma)

Photo of Geertjan Wielenga
Hosted By
Geertjan W.
Lunch & learn: "Macro-optimizing Java Applications" (with Roni Dover from Digma)

Details

This lunch & learn meetup will be hosted by Gj IT, in their headquarters at Rapenburg 58/2, 1011TZ Amsterdam.

Agenda

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. - Sir Tony Hoare

Spending time and effort micro-optimizing your code will have little impact on the application and is usually not worth your while.

But what about the big issues?

  • crippling bottlenecks
  • missed caching opportunities
  • inefficient threading strategies
  • architectural mistakes preventing your app from scaling

Identifying macro-level inefficiencies can be deceptively difficult. It requires moving past simple performance metrics to measure usage and impact.

Using basic data science techniques makes it possible to clean up the data, detect anomalies, and find a correlation between different parameters such as concurrency, resource usage, and duration.

With the right set of OSS tools and technologies, we can even automate these processes to keep us focused on how our application behaves at scale and take big swings at making our code and application perform as expected.

In this lunch conversation, we’ll cover:

  1. Which data should we collect? What can we collect for free?
  2. Measuring performance vs performance impact: a draft suggestion.
  3. Live example: Crunching some data with simple aggregations.
  4. Example: To cache or not to cache... how to select the right “punch for the bucks” candidates.
  5. Everything is worthless without automation: how to automate our analysis to prevent regressions.

Today’s observability tools make it very easy to whip up fancy dashboards. Unfortunately, these visualizations do not provide the team with Continuous Feedback and often simply serve as a source of ‘excavation’ data to RCA why something bad happened after it had already occurred.

The goal of this lunch conversation is to present an alternative, proactive approach, that would allow developers to use data that is currently just lying in wait in an APM somewhere and make improvements where it really counts to ensure the application can meet its scaling needs.

Limited seats available (super exclusive to 25, maximum).

About Roni Dover

Holistic developer and builder with a passion for development processes and practices. Afflicted by an acute Product Manager/Developer split personality disorder that was never treated. Currently, CTO and co-founder of Digma (digma.ai), an IDE plugin for code runtime AI analysis to help accelerate development in complex codebases. A big believer in evidence-based development, and a proponent of Continuous Feedback in all aspects of Software Engineering.

Photo of Amsterdam Java User Group group
Amsterdam Java User Group
See more events
Gj IT
Rapenburg 58/2 · Amsterdam