Mercurial > hg > Papers > 2012 > nobu-thesis
changeset 31:ca5104bbc3eb draft
commit
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 27 Feb 2012 14:52:26 +0900 |
parents | 5ec4d6ecebd1 |
children | 3dbaff8febef |
files | presen/cbc.md presen/presentation.html |
diffstat | 2 files changed, 16 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/cbc.md Mon Feb 27 14:29:47 2012 +0900 +++ b/presen/cbc.md Mon Feb 27 14:52:26 2012 +0900 @@ -137,6 +137,7 @@ <td> <li>__code によるコードセグメントの宣言</li> <li>goto によるコードセグメントへの継続</li> +<li>call ではなく jmp で処理を移る</li> </td> </table> @@ -156,9 +157,9 @@ Tail Call Elimination --------- <li>関数呼び出しを call ではなく jmp 命令で行う最適化</li> -<li>例えば, 如何の場合関数 g は jmp 命令で関数 f へと処理が移る</li> +<li>例えば、以下の場合関数 g は jmp 命令で関数 f へと処理が移る</li> -<table width=100%> +<table width=100% border=1> <tr> <td width=50%> <pre> @@ -243,7 +244,7 @@ </table> <li>引数 2、3 の結果はほぼ同じ</li> -<li>引数 1 の結果では 32bit, 64bit 共に GCC-4.6 の方が 1.5倍以上早</li> +<li>引数 1 の結果では 32bit, 64bit 共に GCC-4.6 の方が 1.5倍以上早い</li> --- @@ -281,8 +282,8 @@ GCC の最適化 ======== - 最適化無しに比べると GCC-4.5、 GGC-4.6 共にコードセグメントの数が減っている。</l> -- これは、最適化の 1 つ『インライン展開』により各コードセグメントの計算がまとめて行われる為、 -継続する数を減らすことができるから。 +- これは、最適化の 1 つ『インライン展開』により各コードセグメントの計算がまとめて行われ、 +継続する数を減らされている為。 - GCC-4.5 でもインライン展開はされていたが、GCC-4.6 はより良い最適化がかけられている。 @@ -290,7 +291,7 @@ -GCC のアップデートに合わせる事の重要性 +アップデートに合わせる有用性 ======== - 今回の『インライン展開』のように GCC の最適化は日々改良されていく。 - また、既存の最適化の改良だけでなく新たな最適化の追加等も行われていく。
--- a/presen/presentation.html Mon Feb 27 14:29:47 2012 +0900 +++ b/presen/presentation.html Mon Feb 27 14:52:26 2012 +0900 @@ -330,6 +330,7 @@ <td> <li>__code によるコードセグメントの宣言</li> <li>goto によるコードセグメントへの継続</li> +<li>call ではなく jmp で処理を移る</li> </td> </table></p></section> @@ -392,8 +393,8 @@ <section><p><li>CbC-GCC の軽量継続は最適化の1つ, <font color=red>Tail Call Celimination(末尾除去)</font>により実装されている.</li></p> <h2>Tail Call Elimination</h2> <p><li>関数呼び出しを call ではなく jmp 命令で行う最適化</li> -<li>例えば, 如何の場合関数 g は jmp 命令で関数 f へと処理が移る</li></p> -<table width=100%> +<li>例えば、以下の場合関数 g は jmp 命令で関数 f へと処理が移る</li></p> +<table width=100% border=1> <tr> <td width=50%> <pre> @@ -542,7 +543,7 @@ <li>引数 2、3 の結果はほぼ同じ</li> -<li>引数 1 の結果では 32bit, 64bit 共に GCC-4.6 の方が 1.5倍以上早</li></section> +<li>引数 1 の結果では 32bit, 64bit 共に GCC-4.6 の方が 1.5倍以上早い</li></section> </div> <div class="presenter_notes"> @@ -627,8 +628,8 @@ <section><ul> <li>最適化無しに比べると GCC-4.5、 GGC-4.6 共にコードセグメントの数が減っている。</l></li> -<li>これは、最適化の 1 つ『インライン展開』により各コードセグメントの計算がまとめて行われる為、 -継続する数を減らすことができるから。</li> +<li>これは、最適化の 1 つ『インライン展開』により各コードセグメントの計算がまとめて行われ、 +継続する数を減らされている為。</li> <li>GCC-4.5 でもインライン展開はされていたが、GCC-4.6 はより良い最適化がかけられている。</li> </ul></section> @@ -657,7 +658,7 @@ <div class="slide"> <div class="inner"> - <header><h1>GCC のアップデートに合わせる事の重要性</h1></header> + <header><h1>アップデートに合わせる有用性</h1></header> <section><ul> @@ -964,7 +965,7 @@ </tr> <!-- <tr> - <td></td>\<Element 'br' at 0x108357630> <td></td>\<Element 'br' at 0x108357690> </tr> + <td></td>\<Element 'br' at 0x10780c6c0> <td></td>\<Element 'br' at 0x10780c720> </tr> --></p> <p></table> <li>関数を展開してその場で計算する『インライン展開』がより強力になっているのが確認できる</li> @@ -1107,7 +1108,7 @@ <tr id="toc-row-15"> - <th><a href="#slide15">GCC のアップデートに合わせる事の重要性</a></th> + <th><a href="#slide15">アップデートに合わせる有用性</a></th> <td><a href="#slide15">15</a></td> </tr>