Skip to content

QuickPerf

quick-perf edited this page Oct 17, 2021 · 187 revisions
QuickPerf

QuickPerf is a testing library for Java to quickly evaluate and improve performance-related properties

quickperf.io


Maven Central    License    :question:    Gitter


🚀 Release notes

QuickPerf works with a JDK 1.7+.

:speaker: New QuickPerf project for Spring Boot applications! QuickPerf Live

Configure

Spring

JUnit 4

JUnit 5

TestNG

Micronaut

Preview

Quarkus

Preview

IDE
clickable
links

Use QuickPerf features

Annotation scopes

An annotation can have three scopes: global, class, method

Scope definitions
  • Global scope
    The annotation applies to each QuickPerf test.
    To configure global scope annotations, create a class implementing SpecifiableGlobalAnnotations interface in an org.quickperf package.
    CoreAnnotationBuilder, SqlAnnotationBuilder, and JvmAnnotationBuilderare available to help to build global scope annotations.
  • Class scope
    The annotation is on the test class. It overrides the configuration of the same annotation with global scope.
  • Test method scope
    The annotation is on the test method. It overrides the configuration of the same annotation with test class and global scopes.

💡 Examples illustrating how annotation scopes work

Annotations

JVM

Heap allocation, profiling, ...

SQL

N+1 select, JDBC batching disabled, ...

Core

Execution time, debugging, ...

How to

Detect and fix N+1 select

Limit console verbosity

Disable QuickPerf

Create an annotation

Frequently Asked questions

The answer to your question may be here.

Project examples

QuickPerf examples (JUnit 4, JUnit 5, TestNG, Hibernate, Spring, Spring Boot, Micronaut, Quarkus, ...)

Maven performance

Clone this wiki locally