Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qute - CompletedStage and other perf improvements #18298

Merged
merged 1 commit into from
Jul 1, 2021

Conversation

mkouba
Copy link
Contributor

@mkouba mkouba commented Jul 1, 2021

  • CompletedStage is an internal represenation of a completed computation and an optimized replacement for CompletableFuture#completedFuture()
  • MultiResultNode does not allocate one more array anymore

- CompletedStage is an internal represenation of a completed computation and an optimized replacement for CompletableFuture#completedFuture()
- MultiResultNode does not allocate one more array anymore
@quarkus-bot quarkus-bot bot added the area/qute The template engine label Jul 1, 2021
@mkouba
Copy link
Contributor Author

mkouba commented Jul 1, 2021

This PR is a follow-up of #18267. These improvements not only eliminate the remaining difference but the figures are now even better than with 1.13.7 and 2.0.0.

@mkouba mkouba requested a review from gastaldi July 1, 2021 12:08
* Note that this is not a full implementation of {@link CompletionStage} - it just throws {@link UnsupportedOperationException}
* for methods that are not used internally. Therefore, it should not be used outside the Qute API.
*/
public final class CompletedStage<T> implements CompletionStage<T>, Supplier<T> {
Copy link
Contributor

@gastaldi gastaldi Jul 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the public keyword if it's not meant to be used outside this package?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The class must be public because it's used by the generated value resolvers...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I thought it shouldn't be used or referenced besides here, gotcha

@mkouba mkouba added this to the 2.1 - main milestone Jul 1, 2021
@mkouba mkouba merged commit a45c352 into quarkusio:main Jul 1, 2021
karesti pushed a commit to karesti/quarkus that referenced this pull request Jul 1, 2021
Qute - CompletedStage and other perf improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/qute The template engine
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants