LINUX.ORG.RU

Ускорение интерпретации

 


0

2

Считается, что значительная просадка производительности интерпретации вызвана проверкой типов в рантайме. Возникла такая идея. Что если на уровне интерпретатора реализовать только базовые типы выражений, минимальное их количество, а уже на уровне пользователя писать метациклический интерпретатор, расширяющий базовые типы. Многие типы, и вообще многие фичи, программисту могут не понадобиться в конкретном приложении, поэтому можно избежать многих ненужных проверок. А целевое приложение писать уже на расширенном языке. Получается своего рода DSL. Дала бы такая техника написания программ значительный прирост производительности?

Ответ на: комментарий от anonymous

Не понял. Что и зачем интерпретировать? Это же банальное алгебраическое выражение, ничего интерпретировать не надо.

anonymous
()
Ответ на: комментарий от anonymous

Вот выражение и интерпретировать, что тут непонятного?

  • Парсим выражение
  • Строим выражение для производной
  • Построенное выражение пишем в tmp.c
  • Компилируем tmp.с в .so
  • Подключаем .so, обрабатываем данные.

Результат компиляции tmp.c будет лучше чем результат компиляции функции в gcc за счёт экономии на boxing'е double'ов при передаче в библиотечные функции.

monk ★★★★★
()
Ответ на: комментарий от anonymous

Не чересчур ли подло?

А что не так? Использование плагинов в Си — древняя традиция. В Windows все видеоаудиокодеки в виде dll ещё в Windows95 были.

monk ★★★★★
()
Ответ на: комментарий от anonymous

Зачем его интерпретировать?

anonymous
()
Ответ на: комментарий от anonymous

Что мне мешает скомпилировать выражение в Си?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.