Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-6594

Performance Reduction on Instantiation of SequenceFlows in Big Graph

XMLWordPrintable

    • Icon: Bug Report Bug Report
    • Resolution: Won't Fix
    • Icon: L3 - Default L3 - Default
    • None
    • 7.5.0
    • bpmn model api
    • Ubuntu 16.4 - 64 bit / Java 1.8.0_74
      $_JAVA_OPTIONS -Xms1024m -Xmx4G -Xss256m
      i7-5600U CPU @ 2.60GHz × 4
      11, 6GiB

      Problem:
      Instantiating SequenceFlows in a graph with a lot of nodes becomes increasingly slow. While the instantiation of Tasks stays pretty constant (for my machine starting at 0ms and going to 1ms after ~500 Tasks), the instantiation of SequenceFlows though started at an already slow 20ms with ~500 Tasks and then regressed to around 70ms after 100 SequenceFlows.

      This behavior seems unexpected. Also note that adding the element as a child stays constant.

      Here is the Scala code called for all elements. The run-times above refer to the .newInstance() line.

      def createElement[T <: BpmnModelElementInstance](modelInstance: BpmnModelInstance, parentElement: BpmnModelElementInstance, id: String, elementClass: Class[T]): T =  {
          val element = modelInstance.newInstance(elementClass)
          element.setAttributeValue("id", id, true)"adding to DOM")
          parentElement.addChildElement(element)
          element
      }
      

        This is the controller panel for Smart Panels app

              Unassigned Unassigned
              dadarakt Jannis Van der Eyck
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: