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

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1
    • 2.2
    • None
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            schor Marshall Schor
            schor Marshall Schor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment