From 3158b12f9fe72d7ba8bbca7956e139b66c0a5581 Mon Sep 17 00:00:00 2001 From: SpaceFox Date: Thu, 29 May 2025 23:44:51 +0200 Subject: [PATCH] Add documentation --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 369140d..7a13b73 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,54 @@ # perftests-quarkus -This project uses Quarkus, the Supersonic Subatomic Java Framework. +This is a test for Quarkus to handle large projets, in quantity of objects to manage. -If you want to learn more about Quarkus, please visit its website: . +To use this project, you have to generate the _actual_ code: + +1. Set the root path in `src/main/java/fr/spacefox/perftests/quarkus/generator/Generator.java` constant `ROOT_PATH` to + the _actual_ path of your project sources. +2. You may change the number of elements to generate with `ELEMENTS` in the same file. +3. Run the Generator: now you have a giant Quarkus project ready to be used! +4. Build and play! You can keep the tests, they will run in a _reasonable_ amount of time. +5. You can run some kind of performance tests by using `perfs.jmx` in Apache JMeter + +See also [the Spring Boot version](https://git.spacefox.fr/spacefox/perftests-springboot). + +Requirements: + +- JRE ⩾ 21 +- PostgreSQL (you may use `src/test/docker/compose.yaml`) + +**Note: generating too much `ELEMENTS` will not work due to Quarkus internals**. +Actual limit with this project is somewhere between 4100 and 4200. + +Generated arborescence kind of follow the hexagonal / ports & adapters architecture, so Panache ORM is used with its +repository variant: + +``` +fr.spacefox.perftests.quarkus + .core + .port + .data + EntityNDatasourcePort.java + .serviceN + .model + ModelN.java + ServiceN + .data + .entityN + EntityN.java + EntityNRepository.java + Mapper.java + .rest + .endpointN + .schema + SchemaN.java + EndpointNResource.java + Mapper.java ++ tests +``` + +-------------------------- ## Running the application in dev mode