LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 1 year has passed since last update.

事後コンパイラについて

Posted at

はじめに

最近事後コンパイラについて調べたので、事前コンパイラ・実行時コンパイラと併せてメリットデメリットをまとめてみました

事前コンパイラ

AOTコンパイラとも呼ばれる。

コードを事前に機械語などにコンパイルして、それを実行する。単にコンパイラというときは大抵これのこと

メリット

  • 実行時のコストが低い
  • コンパイルに時間をかけれるのでより最適化できる場合がある

デメリット

  • 実際に実行する環境がわからないので、環境依存の処理などが難しい

実行時コンパイラ

JITコンパイラとも呼ばれる。

コードを中間言語にコンパイルしておいて、実行時に機械語などに翻訳・実行する。

メリット

  • 実行環境などが分かるので、より最適化できる場合がある
  • 様々な環境に対応することが容易

デメリット

  • コンパイルのコストが実行時にかかる

事後コンパイラ

BOTコンパイラとも呼ばれる。
インタプリタなどで実行し、実行が終了した後に機械語などにコンパイルする。

メリット

  • 入出力や実行プロセスがわかるので、より最適化できる場合がある
  • 実行時のコストが低い
  • コンパイルに時間をかけれるのでより最適化できる場合がある

デメリット

  • 結局インタプリタなどで実行するため意味はない

おわりに

事後コンパイラなんて無いです

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up