Skip to content

QuickPerf

Jean Bisutti edited this page Nov 1, 2020 · 187 revisions
QuickPerf

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


Maven Central Β Β  License Β Β  @QuickPerf Β Β  ❓ Β Β  Gitter Β Β  :octocat: Β Β  πŸ“Ί


QuickPerf works with a JDK 1.7+.

πŸ“£ QuickPerf 1.0.0 is going to be released soon: 1.0.0 documentation

Configure

Preview Preview

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, ... N+1 select, JDBC batching disabled, ... Execution time, debugging, ...

How to

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

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