Git Product home page Git Product logo

quickperf's Introduction

QuickPerf

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


Maven Central    Reproducible Builds    License    Build Status    quickperf.io


Annotations

👉 Core

👉 JVM

👉 SQL

more...

Frameworks and Test Frameworks

👉 Spring

more...


👉 JUnit 4

👉 JUnit 5

👉 TestNG

more...

Frequently Asked Questions

more...

Usage

JVM annotations

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

📙 All the JVM annotations    🔎 Examples with JUnit4, Junit5, TestNG    🔎 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    🔎 Spring Boot & JUnit 4    🔎 Spring Boot & JUnit 5

Talks and videos

Something to ask us?

📧 [email protected]

💬 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 contributing guide to learn more.

Contributors

Many thanks to all our contributors!

Jean Bisutti
Jean Bisutti

💻 📖 🎨
💡 👀 📢
guiRagh
Guillaume Raghoumandan

💻
Patrice CAVEZZAN
Patrice Cavezzan

💻 🚇 📖
Alexandre Blanchard
Alexandre Blanchard

🐛 💻
Eric McDowell
Eric McDowell

💻
Jan Krüger
Jan Krüger

💻
Loïc Mathieu
Loïc Mathieu

💻 💡 📖
Daniel Bentley
Daniel Bentley

🚇
Gaurav Deshpande
Gaurav Deshpande

rdm100
rdm100

📖
Artus de Benque
Artus de Benque

🐛 💻
Minh-Trieu Ha
Minh-Trieu Ha

💻
Bakary Djiba
Bakary Djiba

💻
C Faisal
C Faisal

💻
Thami Inaflas
Thami Inaflas

💻
José Paumard
José Paumard

💻
Edward Rose
Edward Rose

💻
Ubaid ur Rehman
Ubaid ur Rehman

💻
Giuseppe B.
Giuseppe B.

💻
Fabrice
Fabrice

💻 📖
Navneet Kumar
Navneet Kumar

💻
Charles Sabourdin
Charles Sabourdin

📖
Mohamed Karaga
Mohamed Karaga

🐛 💻
Hervé Boutemy
Hervé Boutemy

📦
Franck Demeyer
Franck Demeyer

🐛 💻
Oliver Hughes
Oliver Hughes

💻
Hedley Proctor
Hedley Proctor

💻
rsassi
rsassi

🐛 💻
emoji key

Sponsors

Many thanks Zenika for sponsoring this project!

with love by zenika

License

Apache License 2.0

quickperf's People

Contributors

jeanbisutti avatar loicmathieu avatar ftarfasse avatar pcavezzan avatar ubaid4j avatar dependabot[bot] avatar josepaumard avatar hboutemy avatar franckdemeyer avatar ablanchard avatar archyoshi avatar minh-trieu avatar rdm100 avatar guiragh avatar dialaya avatar oliver-hughes avatar navkumar258 avatar klu2 avatar mohamedkaraga avatar jan-krueger avatar mrsnix avatar gaurav9822 avatar emcdow123 avatar danny95djb avatar kanedafromparis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.