Skip to content

QuickPerf

Jean Bisutti edited this page Aug 17, 2020 · 187 revisions
QuickPerf

QuickPerf is a testing library for Java to quickly evaluate and improve some performance properties.


Maven Central Β Β  License Β Β  Twitter Follow Β Β  Gitter Β Β  :octocat: Β Β  πŸ“Ί


QuickPerf works with JUnit 4, JUnit 5, TestNG and a JDK 1.7+.

Execute QuickPerf

Use QuickPerf features

Annotation scopes

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

Scope definitions
  • Global scope
    The annotation applies on 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

Heap allocation, profiling, ... Easily detect N+1 select, JDBC batching disabled, ... Execution time, debugging, ...

How to

πŸ‘‰ Β Disable QuickPerf

To disable QuickPerf features you can pass -DdisableQuickPerf=true to your JVM or use some core annotations (@DisableQuickPerf, @FunctionalIteration, @DisableGlobalAnnotations).

πŸ‘‰ Β Detect and fix N+1 select

Frequently Asked questions

The answer to your question may be here.

Project examples

Maven performance

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

Annotations

πŸ‘‰ Β Core

πŸ‘‰ Β JVM

πŸ‘‰ Β SQL

πŸ‘‰ Β Scopes

πŸ‘‰ Β Create an annotation

Supported frameworks

πŸ‘‰ Β JUnit 4

πŸ‘‰ Β JUnit 5

πŸ‘‰ Β TestNG

πŸ‘‰ Β Spring

How to

πŸ‘‰ Β Detect and fix N+1 SELECT

Project examples

πŸ‘‰ Β Maven performance

πŸ‘‰ Β Spring Boot - JUnit 4

πŸ‘‰ Β Spring Boot - JUnit 5

πŸ‘‰ Β Micronaut Data - JUnit 5

πŸ‘‰ Β Micronaut - Spring - JUnit 5

πŸ‘‰ Β Quarkus - JUnit 5

Miscellaneous

πŸ‘‰ Β FAQ

πŸ‘‰ Β QuickPerf code

Clone this wiki locally