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

Fast boot and completion stage unwind


    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 4.5.0.Final
    • None
    • jaxrs
    • None

      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.

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