トレースの例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/15 02:57 UTC 版)
「トレーシング実行時コンパイル」の記事における「トレースの例」の解説
次のプログラムを考える。1から10000までのすべての数の平方の和を計算している。 def square(x): return x * xi = 0y = 0while True: y += square(i) if y > 100000: break i = i + 1 以下はこのプログラムのトレース例である: loopstart(i1, y1)i2 = int_mul(i1, i1)# x*xy2 = int_add(y1, i2)# y += i*ib1 = int_gt(y2, 100000)guard_false(b1)i3 = int_add(i1, 1)# i = i+1jump(i3, y2) square関数のコールがインライン化されていることと、if 文がguard_falseに変換されている。
※この「トレースの例」の解説は、「トレーシング実行時コンパイル」の解説の一部です。
「トレースの例」を含む「トレーシング実行時コンパイル」の記事については、「トレーシング実行時コンパイル」の概要を参照ください。
- トレースの例のページへのリンク