-
Notifications
You must be signed in to change notification settings - Fork 4
QuickPerf
QuickPerf is a testing library for Java to quickly evaluate and improve some performance properties.
QuickPerf works with JUnit 4, JUnit 5, TestNG and a JDK 1.7+.
An annotation can have three scopes:
-
Global scope
The annotation applies on each test.
You can configure global scope annotations with a class implementingSpecifiableGlobalAnnotations
interface and located inorg.quickperf
package.CoreAnnotationBuilder
,SqlAnnotationBuilder
andJvmAnnotationBuilder
are available to help building global scope annotations. -
Test scope
The annotation is used on the test class. It overrides the configuration of the same annotation with global scope. -
Test method scope
The annotation is used on the test method. It overrides the configuration of the same annotation with test class and global scopes.
π‘ Examples illustrating how annotation scopes work
Execution time, debugging, ...
Heap allocation, profiling, ...
Easily detect N+1 select, JDBC batching disabled, ...
To disable QuickPerf features you can pass -DdisableQuickPerf=true to your JVM or use some core annotations (@DisableQuickPerf, @FunctionalIteration, @DisableGlobalAnnotations).
Maven performance
QuickPerf examples (JUnit 4, JUnit 5, TestNG, Hibernate, Spring, Spring Boot, Micronaut, Quarkus, ...)
π Β Core
π Β JVM
π Β SQL
π Β Scopes
π Β Create an annotation
π Β JUnit 4
π Β JUnit 5
π Β TestNG
π Β Spring
π Β Detect and fix N+1 SELECT
π Β Maven performance
π Β Spring Boot - JUnit 4
π Β Spring Boot - JUnit 5
π Β Micronaut Data - JUnit 5
π Β Micronaut - Spring - JUnit 5
π Β Quarkus - JUnit 5
π Β FAQ
π Β QuickPerf code