Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-2487

Fast boot and completion stage unwind

    XMLWordPrintable

Details

    • Enhancement
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Done
    • None
    • 4.5.0.Final
    • jaxrs
    • None

    Description

      This is about:

      • Improving Resteasy boot time by reducing copying within ResteasyProviderFactoryImpl, Client/ServerHelper, and MediaTypeMap: a ton of copy-on-write structures and patterns are used. Even with improvements last summer (RESTEASY-2302), WebTargets still do a ton of copying of their underlying ResteasyProviderFactories. Code has to be changed so that at boot time copy-on-write is turned off and after boot is complete, a flag is set to turn ON copy-on-write.
      • Next big change is needed for Quarkus on boot. New fine-grain registration methods to ResteasyProviderFactoryImpl are needed to allow Quarkus to do a lot of boot processing at build time.
      • Finally, in the current codebase, if there is no async injection, a huge CompletionStage chain is created that encompasses: resource object construction, property injection, method argument injection, and method invocation. The huge CompletionStage stack that is created for each HTTP invocation has to be unwound.

      Attachments

        Issue Links

          Activity

            People

              patriot1burke@gmail.com Bill Burke (Inactive)
              rhn-support-asoldano Alessio Soldano
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: