Skip to content

Optimize access to sparse multiports #36

@oowekyala

Description

@oowekyala

The C++ runtime supports sparse multiports more efficiently since lf-lang/reactor-cpp#24. The set ports can be queried more efficiently because they're saved in a vector in the multiport. This apparently has significant performance impact on benchmarks like Big.

The Rust runtime cannot support this directly yet -setting a port does not notify any of the downstream ports, and ports do not know the multiports that contain them anyway. I imagine this will be difficult to implement because of the constraints on circular references in Rust. Maybe a solution would be to introduce new data structures to track which port can influence which multiport, which would be prepared during initialization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestoptimizationRelated to performance optimizations

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions