Persistence of internal state [message #1759504] |
Wed, 12 April 2017 08:13  |
Eclipse User |
|
|
|
Hi,
just wanted to ask if there exists the functionality to persist the internal state of VIATRA?
Example: my model becomes big and/or I have quite a lot of patterns but then I restart and have to collect all matches from anew.
Can I circumvent this somehow?
Regards,
Lars
|
|
|
Re: Persistence of internal state [message #1759512 is a reply to message #1759504] |
Wed, 12 April 2017 00:54   |
Eclipse User |
|
|
|
Hi Lars,
thanks for your interest in VIATRA. Sadly, persisting the internal state of VIATRA is not available, although we are thinking about how to support such cases.
The main reason for this is the complexity of the task: we have to make sure that after the restart the models are opened the same way (that is non-trivial by itself, e.g. some models require specific services being registered), and then both the serialization/deserialization and the in-memory model access should have high performance (Interestingly, we have seen cases where it is much cheaper to reconstruct the models then deserialize it).
If the initialization of the internals is too slow (but the model loading is still fast enough), it might be worthwhile to check which patterns are causing such issues. The documentation pages [1] and [2] provide some related ideas. However, if model loading is already slow, then sadly I cannot suggest anything actionable here, as VIATRA expects the model to be available in-memory, and it is traversed to initialize indexes.
Best regards,
Zoltán
[1] https://wiki.eclipse.org/VIATRA/Query/FAQ#Optimizing_queries_and_transformations
[2] https://wiki.eclipse.org/VIATRA/Query/UserDocumentation/SDK/QueryHotspotTesting
|
|
|
|
Powered by
FUDForum. Page generated in 0.03536 seconds