Skip to content

Improve performance of graph operations. #6243

Description

@mtbc

Three separate sources of slowness have been identified:

  1. Early in the process when data is being gathered, profiling shows Hibernate eating a lot of memory. Caches may need configuration and later versions of Hibernate may make that easier. GraphTraversal will tend not to be querying the same objects repeatedly.

  2. In reviewing the data gathered via Hibernate, GraphPolicyRule eats much CPU time in rule-matching. The internal implementation of the class could do non-trivial static analysis when initialized, compiling the list of rules to a decision tree of checks, branches, changes, making the subsequent matching much faster.

  3. In actioning the model changes, PostgreSQL can spend much time in managing the _reindexing_required table. Perhaps migration to https://github.com/glencoesoftware/omero-es can somehow help.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions