Skip to content

[VM] Remove or Update Tarjan in the virtual machine for better performance.  #3517

@Jim8y

Description

@Jim8y

Summary or problem description
To precisely calculate and timely update the total number of References in the vm, we use Tarjan in the vm to refresh the reference relationship. Its used to build the strongly connected components in the stack items, but strongly connected components actually are not necessary for neo vm to calculate and update the references. What's worse, we need to rerun the expensive Tarjan everytime we update the compound to compound reference relationship in the vm, which incurs high overhead.

Do you have any solution you want to propose?
we should remove the Tarjan, and replace it with a light weight reference management algorithm, or at least we should upadte Tarjan to make it can be partially updated.

Where in the software does this update applies to?

  • VM

Metadata

Metadata

Assignees

No one assigned

    Labels

    DiscussionInitial issue state - proposed but not yet accepted

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions