Quickperf
QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties
Install / Use
/learn @quick-perf/QuickperfREADME
<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> <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> <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> <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> <a href="https://quickperf.io"><strong>quickperf.io</strong></a> </p>
📙 Documentation
<details>Annotations
:point_right: Core
:point_right: JVM
:point_right: SQL
Frameworks and Test Frameworks
:point_right: Spring
</br>:point_right: JUnit 4
:point_right: JUnit 5
:point_right: TestNG
Frequently Asked Questions
</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 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-peRelated Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
341.0kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
prose
341.0kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
