Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Presentation: Performance Testing in Java
Location:
- Churchill, G flr.
Duration
Day of week:
- Monday
Level:
- Intermediate
Persona:
- Developer
Key Takeaways
- Learn how to use tools to diagnose performance problems
- Understand that testing can be done by anyone
- Realise that performance testing is worthwhile
Abstract
Writing software is regarded by many developers as a craft or an art. However when it comes to performance tuning and/or testing many believe it to be more of a dark art. Nothing farther from the truth. We can gain a lot by applying a concrete methodology and similar reasoning techniques we follow when writing production code. There are tools in the Java space that can help us get better measurements and results, JMeter perhaps one of the most well known, JMH is probably the next likely candidate. We'll discuss these tools and some techniques that should make engaging in performance testing a rewarding experience.
Interview
The talk is structured like a conversation between two senior engineers, to discuss performance issues and to showcase that you don’t necessarily need to have a lot of information in your head in order to start performance testing, and get the results.
Performance isn’t just about timing and speed; but tools like JMeter allow you apply load to an application, and JMS allows testing the speed of a particular algorithm.
The talk will look at the reasons for engaging a team with performance testing at every step of the development process. In terms of tools, JMH will be showcased as a microbenchmarking option, whether it’s executed in standalone form or as part of a Gradle build.
Picking the right size of setup vs. production code to be tested when evaluating an algorithm using JMH. Selecting a good data set when running various forms of performance tests.
Similar Talks
Tracks
-
Architecting for Failure
Building fault tolerate systems that are truly resilient
-
Architectures You've Always Wondered about
QCon classic track. You know the names. Hear their lessons and challenges.
-
Modern Distributed Architectures
Migrating, deploying, and realizing modern cloud architecture.
-
Fast & Furious: Ad Serving, Finance, & Performance
Learn some of the tips and technicals of high speed, low latency systems in Ad Serving and Finance
-
Java - Performance, Patterns and Predictions
Skills embracing the evolution of Java (multi-core, cloud, modularity) and reenforcing core platform fundamentals (performance, concurrency, ubiquity).
-
Performance Mythbusting
Performance myths that need busting and the tools & techniques to get there
-
Dark Code: The Legacy/Tech Debt Dilemma
How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.
-
Modern Learning Systems
Real world use of the latest machine learning technologies in production environments
-
Practical Cryptography & Blockchains: Beyond the Hype
Looking past the hype of blockchain technologies, alternate title: Weaselfree Cryptography & Blockchain
-
Applied JavaScript - Atomic Applications and APIs
Angular, React, Electron, Node: The hottest trends and techniques in the JavaScript space
-
Containers - State Of The Art
What is the state of the art, what's next, & other interesting questions on containers.
-
Observability Done Right: Automating Insight & Software Telemetry
Tools, practices, and methods to know what your system is doing
-
Data Engineering : Where the Rubber meets the Road in Data Science
Science does not imply engineering. Engineering tools and techniques for Data Scientists
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
-
Workhorse Languages, Not Called Java
Workhorse languages not called Java.
-
Security: Lessons Learned From Being Pwned
How Attackers Think. Penetration testing techniques, exploits, toolsets, and skills of software hackers
-
Engineering Culture @{{cool_company}}
Culture, Organization Structure, Modern Agile War Stories
-
Softskills: Essential Skills for Developers
Skills for the developer in the workplace