バイナリ変換
動的なバイナリ変換は単純なエミュレーションとは異なりコード変換の時間がオーバーヘッドになるが、性能上の大きなボトルネックとなるエミュレータの読み出し-デコード-実行というループが存在しない。変換のオーバーヘッドは変換したコードが複数回実行されれば相殺される。
高度な動的変換プログラムは 動的再コンパイルを採用しており、どの部分が実行時間の大部分を占めているか計測可能なようコードを変換し、そうした部分は積極的に最適化される。この技術は ジャストインタイムコンパイラを彷彿とさせるものだが、実際こうしたコンパイラ(例 : サン・マイクロシステムズのHotSpot技術)は仮想マシンの命令セット(バイトコード)から実際のマシンの命令セットへの動的なバイナリ変換プログラムと捉えることができる。
Appleは、 M68Kのコードを動的に変換するエミュレータを同社のPowerPC版Macintosh製品向けに開発し、非常に高い安定性と性能、互換性(Mac 68K エミュレータ参照)を実現した。これによりアップルは、一部のバイナリのみがネイティブという状態でオペレーティングシステム (OS) を出荷し、エンドユーザーはこれまでのソフトウェアへの投資を失うことなく新しい高速なアーキテクチャを採用することができた。