Оценивая производительность Rascal?

Я хочу оценить производительность Rascal для данной системы переписывания, которую я написал. Мне интересно, есть ли хороший способ сделать это?

В идеале я бы сгенерировал некоторые скомпилированные классы Java из системы, а затем запустил их вручную для своих входных данных. Есть ли простой или рекомендуемый способ сделать это?

Ура,

1 ответ

Решение

Один из способов сделать это - использовать функции в библиотеке. util::Benchmark, Как правило, вы могли бы написать что-то вродеcpuType( (){ call_the_function_I_want_to_observe(); } ), Это выполнит вашу функцию и напечатает время процессора.

Обратите внимание, что Rascal может выполняться двумя способами: интерпретироваться и компилироваться, что имеет большое значение при измерении производительности. В настоящее время мы прилагаем все усилия, чтобы полностью интегрировать компилятор в Eclipse IDE, но доступна и отдельная версия. Это можно назвать java -Xss8m -jar rascal-0.8.4-SNAPSHOT.jar --compiledREPL с последующими как минимум значениями для каталогов для источников (--src) и двоичные файлы (--bin). Вот rascal-0.8.4-SNAPSHOT.jar (но, скорее всего, называется по-другому) загружается с https://update.rascal-mpl.org/console/rascal-shell-unstable.jar.

Если вам нужна дополнительная информация, не стесняйтесь спрашивать более подробную информацию: эта часть нашей цепочки инструментов, к сожалению, до сих пор не документирована.

Другие вопросы по тегам