-
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, class, method
Scope definitions
-
Global scope
The annotation applies on each QuickPerf test.
To configure global scope annotations, create a class implementingSpecifiableGlobalAnnotations
interface in anorg.quickperf
package.
CoreAnnotationBuilder
,SqlAnnotationBuilder
, andJvmAnnotationBuilder
are 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
Heap allocation, profiling, ... | Easily detect N+1 select, JDBC batching disabled, ... | Execution time, debugging, ... |
π Β 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
The answer to your question may be here.
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