securify2 icon indicating copy to clipboard operation
securify2 copied to clipboard

Performance / Tune rules with .plan

Open b-scholz opened this issue 4 years ago • 2 comments

Great that you use Souffle in your project. I am the lead of the Souffle project and noticed that you haven't tuned your rules for performance. We have some documentation about performance tuning:

https://souffle-lang.github.io/tuning

If you need further help, send me an email to [email protected].

b-scholz avatar Mar 09 '20 11:03 b-scholz

Thank you very much for the information. Would it be possible to point any specific rules in our implementation that could be benefited by the tuning?

YannisSach avatar Mar 12 '20 14:03 YannisSach

You need to run the profiler first:

https://souffle-lang.github.io/profiler

Use a serious workload (e.g. run the whole blockchain as an input case).

In the profiler you will see that only a handful of rules will dominate the runtime. To improve the runtime of these rules, you will most likely need to write your own .plan statements to specify an optimal schedule.

Send me your profile file and I am happy to work with you on the scheduling problem.

b-scholz avatar Mar 12 '20 22:03 b-scholz