Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-500

Reduce excessive synch lock contention caused by calls to ll_isValidTypeCode that are not needed

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.2
    • Component/s: None
    • Labels:
      None

      Description

      User reports slowdown as the number of threads are increased; traced to lock contention in Vector.get() method; call trace is:
      XmiCasSerializer$XmiCasDocSerializer.<many places>
      CASImpl.ll_getTypeClass(int)
      TypeSystemImpl.subsumes(int, int)
      TypeSystemImpl.ll_subsumes(int, int)
      TypeSystemImpl.ll_isArrayType(int)
      TypeSystemImpl.ll_isValidTypeCode(int) <<< Not needed
      SymbolTable.getSymbol(int)
      Vector.get(int)

      The callers of ll_isValidTypeCode include this caller and another (ll_getStringSet), where the call can be omitted without affecting the returned value.

        Attachments

          Activity

            People

            • Assignee:
              schor Marshall Schor
              Reporter:
              schor Marshall Schor

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment