souffle-lang/souffle

Performance in interpreter mode

jsjzgy opened this issue · 2 comments

jsjzgy commented

image
When using souffle to execute large test cases, the performance in interpreter mode is very low. I would like to ask if you have any good suggestions to optimiz
test.tar.gz

Hi,

  • What version of Souffle are you using?
  • How does runtime compares with compiled mode?
  • Does multithreading helps (-j N) ?
  • You may want to select a different SIPS heuristic, for instance .pragma "RamSIPS" "delta-max-bound". See
    else if (heuristic == "delta-max-bound")

Then it really depends on your program.
If some rules are specifically slow, looking at the RAM intermediate representation (--show transformed-ram) may help spot an issue. Then crafting dedicated .plan may help if the scheduling of the rule is not optimal.

jsjzgy commented

Hi,

  • What version of Souffle are you using?
  • How does runtime compares with compiled mode?
  • Does multithreading helps (-j N) ?
  • You may want to select a different SIPS heuristic, for instance .pragma "RamSIPS" "delta-max-bound". See
    else if (heuristic == "delta-max-bound")

Then it really depends on your program. If some rules are specifically slow, looking at the RAM intermediate representation (--show transformed-ram) may help spot an issue. Then crafting dedicated .plan may help if the scheduling of the rule is not optimal.
. The Souffle version used is 2.4.1
. Using '-PSIPS:delta-max-bound', the results do not result in a significant improvement in performance
. The attachment is with 'time ./src/souffle -F.. /.. /tests/database/java-sec-code -D ./result .. /.. /tests/rules/2.dl -j20 --wno all --no-warn --show transformed-ram' command

ram.txt