Introduce a Runnable interface that indicate read-only tasks to solver variable backend
|Assignee:||Tuukka Lehtonen||% Done:|
|Category:||Variable||Spent time:||2.00 hours|
|Release notes:||Developers: Introduced new interface @VariableNodeReadRunnable extends Runnable@ that indicates to the solver variable backend that the task is read-only regarding the solver. This adds a bit of freedom in optimizing for read-concurrency in the backend.|
|Tags:||perf, variable, solver, concurrency|
|Velocity based estimate||-|
|Release||Simantics 1.18.1||Release relationship||Auto|
Introduce a Runnable interface to indicate to solver variable backend (Realm) implementations that a task will only read the solver and not perform any writes to it.
This information can be leveraged to optimize/enable concurrent access to the solver data model depending on the threading capabilities of the solver.
Introduce functional interface VariableNodeReadRunnable for exploiting read-only concurrency in solver variable backend implementations.
The interface is now used only in the platform-internal implementations that consult solver variable node backend implementations and naturally in the solver variable backend implementations themselves.
#2 Updated by Tuukka Lehtonen about 2 years ago
- Status changed from Feedback to Closed
- Target version changed from 1.18.2 to 1.18.1
- Release changed from 33 to 17
- Release notes set to Developers: Introduced new interface @VariableNodeReadRunnable extends Runnable@ that indicates to the solver variable backend that the task is read-only regarding the solver. This adds a bit of freedom in optimizing for read-concurrency in the backend.