[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlaplus] Count the time spent on the check of an invariant or a property with TLC



Thanks! I tried to use profiler on my spec. But all the four kinds of result - invocations, cost, states and distinct states, are not time cost. They can certainly provide guidance for optimizing specs but I still need time statistics. Does anyone know where TLC invokes invariant checker in its code? So I can add some code for calculating elapsed time.

Rivers 

On Friday, February 10, 2023 at 11:49:01 PM UTC+8 Markus Kuppe wrote:
On 2/10/23 7:15 AM, Stephan Merz wrote:
> Invariants are evaluated concurrently with state space generation: by default, TLC stops generating new states when an invariant evaluates to false. One could certainly measure the time that TLC spends on evaluating the invariants but currently this is not done.

The TLC Profiler [1] provides insights into the evaluation frequency of
an invariant and its constituent formulas, as well as their memory
usage. Overriding certain parts of an invariant with a Java module
override can be beneficial, and the CommunityModules repository on
GitHub [2] is a great starting point for discovering operators with
overrides.

Markus

[1] https://tla.msr-inria.inria.fr/tlatoolbox/doc/model/profiling.html,
[2] https://github.com/tlaplus/CommunityModules

--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/8ee480f0-d27f-4144-b183-9adfa1f1b704n%40googlegroups.com.