
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
自作インタープリターをJITコンパイルで高速化する その2: Whileの高速化
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
自作インタープリターをJITコンパイルで高速化する その2: Whileの高速化
はじめに 前回の続きです。 前回はJITコンパイラを書き、関数ごとにネイティブコードを生成して高速化す... はじめに 前回の続きです。 前回はJITコンパイラを書き、関数ごとにネイティブコードを生成して高速化するというのをやってみました。 今回はTracing JITっぽい手法を入れてWhile文の高速化と、あと命令の最適化を行ってみたのでそれについて書きます。 今回の記事は以下のリポジトリのコミット時点でのコードをベースにしています。 高速化するコードについて 今回高速化するのは以下のコードです。 平たく言うと、「5000x5000の掛け算表の総和を求める」というコードです。 fun calc() do let n = 5000; let sum = 0; let i = 1; while (i < n) do let j = 1; while (j < n) do sum = sum + i * j; j = j + 1; end i = i + 1; end return sum; end