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

    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

          People

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

            Dates

              Created:
              Updated:
              Resolved: