Skip to content

Performance improvement using reactive approach #8

@Arooba-git

Description

@Arooba-git

Hello 🙂,

I wanted to express my gratitude for developing and maintaining this web app, as well as for providing such detailed and easy-to-follow instructions. By adhering to your guidelines, we were able to run the project successfully.

With the rising interest in Java application development—particularly in areas like reactive programming and virtual threads—we've been evaluating open-source projects to compare performance using three approaches: imperative, reactive, and virtual threads. Our analysis focused on metrics such as CPU and memory usage, as well as request concurrency.

Thanks to your comprehensive documentation, we were able to test your project across all three paradigms. The findings demonstrated significant performance gains with the reactive programming model, as highlighted in the table below:

Metric Original Reactive
Memory Usage (MB) 3023.7 667.5
CPU Usage (%) 7.7 0
Throughput (requests/sec) 3877.6 13743.1
Latency (longest processing time) 3453.3s 7873.6s
Requests Passed (%) 40.8 79.3

As part of this research, we’ve also developed a simplified version of your project using WebFlux, which features a single demonstration endpoint. You can check out this demo and compare its performance with the original project here.

Profiler used: JMeter

Best regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions