Оценивая производительность 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.
Если вам нужна дополнительная информация, не стесняйтесь спрашивать более подробную информацию: эта часть нашей цепочки инструментов, к сожалению, до сих пор не документирована.