Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-2131

ContentEncodingRepository.getContentEncodings allocates many ArrayList iterators in hot path

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Minor
    • 2.3.0.Final, 2.3.0.Alpha2
    • None
    • Core
    • None

    Description

      ContentEncodingRepository.getContentEncodings(HttpServerExchange) allocates many ArrayList iterators in hot paths for handling requests. It may be worthwhile to avoid using for-each loops and instead use old fashioned for loop with List.get(int) to avoid additional allocations during request processing.
       

      java.util.ArrayList$Itr
      at java.util.ArrayList.iterator()
      at java.util.AbstractCollection.addAll(Collection)
      at io.undertow.server.handlers.encoding.ContentEncodingRepository.getContentEncodings(HttpServerExchange)
      at io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(HttpServerExchange)
       

       

      Attachments

        Issue Links

          Activity

            Public project attachment banner

              context keys: [headless, issue, helper, isAsynchronousRequest, project, action, user]
              current Project key: UNDERTOW

              People

                flaviarnn Flavia Rainone
                schlosna David Schlosnagle
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: