SkillAgentSearch skills...

Quickperf

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

Install / Use

/learn @quick-perf/Quickperf

README

<div align="center"> <img src="https://pbs.twimg.com/profile_banners/926219963333038086/1518645789" alt="QuickPerf"/> </div> <div> <blockquote> <p><h3>QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties</h3></p> </blockquote> </div>
<p align="center"> <a href="https://search.maven.org/search?q=org.quickperf"> <img src="https://img.shields.io/maven-central/v/org.quickperf/quick-perf.svg" alt="Maven Central"> </a> &nbsp;&nbsp; <a href="https://github.com/jvm-repo-rebuild/reproducible-central#org.quickperf:quick-perf"> <img src="https://img.shields.io/badge/Reproducible_Builds-ok-success?labelColor=1e5b96" alt="Reproducible Builds"> </a> &nbsp;&nbsp; <a href="https://github.com/quick-perf/quickperf/blob/master/LICENSE.txt"> <img src="https://img.shields.io/badge/license-Apache2-blue.svg" alt = "License"> </a> &nbsp;&nbsp; <a href="https://github.com/quick-perf/quickperf/actions?query=workflow%3ACI"> <img src="https://github.com/quick-perf/quickperf/actions/workflows/CI.yml/badge.svg" alt = "Build Status"> </a> &nbsp;&nbsp; <a href="https://quickperf.io"><strong>quickperf.io</strong></a> </p>

📙 Documentation

<details>

Annotations

:point_right: Core

:point_right: JVM

:point_right: SQL

more...

Frameworks and Test Frameworks

:point_right: Spring

more...

</br>

:point_right: JUnit 4

:point_right: JUnit 5

:point_right: TestNG

more...

Frequently Asked Questions

more...

</details>

Usage

JVM annotations

    @MeasureHeapAllocation
    @HeapSize(value = 1, unit = AllocationUnit.GIGA_BYTE)
    @Test
    public void execute_batch() {
        ...
    }

📙 All the JVM annotations    :mag_right: Examples with JUnit4, Junit5, TestNG    :mag_right: Heap allocation of Apache Maven

SQL annotations

    @ExpectSelect(1)
    @Test
    public void should_find_all_players() {
     ...
    }
[PERF] You may think that <1> select statement was sent to the database
       But there are in fact <10>...

💣 You may have even more select statements with production data.
Be careful with the cost of JDBC roundtrips: https://blog.jooq.org/2017/12/18/the-cost-of-jdbc-server-roundtrips/

Auto-detection of Hibernate and Spring Data JPA:

💡 Perhaps you are facing an N+1 select issue
	* With Hibernate, you may fix it by using JOIN FETCH
	                                       or LEFT JOIN FETCH
	                                       or FetchType.LAZY
	                                       or ...
	* With Spring Data JPA, you may fix it by adding @EntityGraph(attributePaths = { "..." })
      	  on repository method: https://docs.spring.io/spring-data/jpa/docs/current/reference/ht

📙 All the SQL annotations    :mag_right: Spring Boot & JUnit 4    :mag_right: Spring Boot & JUnit 5

Talks and videos

English

French

Something to ask us?

:e-mail: quickperftest@gmail.com

💬 Want to chat with us? Join us on gitter

:octocat: Do you prefer to use a Github issue to ask a question? Create a question issue

Show your support

Please ⭐ this repository or Tweet if this project helped you!

Contributing

You are very welcome to contribute to QuickPerf! You can contribute in many ways. Some relatively easy things can be done. Other issues are more challenging. Each contribution is appreciated. Read our <a href="/CONTRIBUTING.md">contributing guide</a> to learn more.

Contributors

Many thanks to all our contributors!

<table> <tr> <td align="center"> <a href="https://github.com/jeanbisutti"> <img src="https://avatars1.githubusercontent.com/u/14811066?v=4" width="100px;" alt="Jean Bisutti"/> <br/> <sub><b>Jean Bisutti</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Code">💻</a> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Tests">⚠</a> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Documentation">📖</a> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Design">🎨</a><br> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Examples">💡</a> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/quick-perf/quickperf/commits?author=jeanbisutti" title="Talks">📢</a> </td> <td align="center"> <a href="https://github.com/guiRagh"> <img src="https://avatars2.githubusercontent.com/u/47635364?v=4" width="100px;" alt="guiRagh"/> <br/> <sub><b>Guillaume Raghoumandan</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=guiRagh" title="Code">💻</a> <a href="https://github.com/quick-perf/quickperf/commits?author=guiRagh" title="Tests">⚠</a> </td> <td align="center"> <a href="https://github.com/pcavezzan"> <img src="https://avatars2.githubusercontent.com/u/3405916?v=4" width="100px;" alt="Patrice CAVEZZAN"/> <br/> <sub><b>Patrice Cavezzan</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=pcavezzan" title="Code">💻</a> <a href="https://github.com/quick-perf/quickperf/commits?author=pcavezzan" title="Infrastructure">🚇</a> <a href="https://github.com/quick-perf/quickperf/commits?author=pcavezzan" title="Documentation">📖</a> </td> <td align="center"> <a href="https://github.com/ablanchard"> <img src="https://avatars1.githubusercontent.com/u/6951980?v=4" width="100px;" alt="Alexandre Blanchard"/> <br/> <sub><b>Alexandre Blanchard</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=ablanchard" title="Bug reports">🐛</a> <a href="https://github.com/quick-perf/quickperf/commits?author=ablanchard" title="Code">💻</a> </td> <td align="center"> <a href="https://github.com/emcdow123"> <img src="https://avatars1.githubusercontent.com/u/5025020?v=4" width="100px;" alt="Eric McDowell"/> <br/> <sub><b>Eric McDowell</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=emcdow123" title="Code">💻</a> </td> <td align="center"> <a href="https://github.com/waterfl0w"> <img src="https://avatars1.githubusercontent.com/u/3315137?v=4" width="100px;" alt="Jan Krüger"/> <br/> <sub><b>Jan Krüger</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=waterfl0w" title="Code">💻</a> </td> <td align="center"> <a href="https://github.com/loicmathieu"> <img src="https://avatars1.githubusercontent.com/u/1819009?v=4" width="100px;" alt="Loïc Mathieu"/> <br/> <sub><b>Loïc Mathieu</b></sub> </a> <br/> <a href="https://github.com/quick-perf/quickperf/commits?author=loicmathieu" title="Code">💻</a> <a href="https://github.com/quick-perf/quickperf/commits?author=loicmathieu" title="Examples">💡</a> <a href="https://github.com/quick-pe

Related Skills

View on GitHub
GitHub Stars530
CategoryDevelopment
Updated2d ago
Forks72

Languages

Java

Security Score

100/100

Audited on Mar 27, 2026

No findings