# HG changeset patch # User Kaito Tokumori # Date 1455490166 -32400 # Node ID e47c56bfcd2f1abc23495f579baedb6e8ac5f9e2 # Parent 3afb4bfe1100a4606bea18468d1a79ef71cea6a7 abstract diff -r 3afb4bfe1100 -r e47c56bfcd2f paper/abstract.tex --- a/paper/abstract.tex Mon Feb 15 07:30:44 2016 +0900 +++ b/paper/abstract.tex Mon Feb 15 07:49:26 2016 +0900 @@ -1,6 +1,5 @@ \begin{abstract} Continuation based C (CbC) は本研究室で開発されている code segment, data segment を用いてプログラムを記述する言語である。CbC コンパイラは micro-c ベース、 GCC ベース、 LLVM, clang ベースのものが存在する。LLVM, clang 上に実装された CbC コンパイラはその最適化機能を有効に利用でき、GCC で正しくコンパイル出来ないことのあるコードもコンパイル可能という利点がある反面、実行速度で劣るという面があった。 - 本研究では LLVM, clang 上に実装された CbC コンパイラに最適化、機能の追加を行った。これにより、以前のバージョンのものよりも高速なアセンブリを出力できるようになる、CbC の記述が楽になる、という結果が得られた。 - + 本研究では LLVM, clang 上に実装された CbC コンパイラに最適化、機能の追加を行った。CbC の機能の一つである環境付き継続の大幅な高速化が一つの成果であり, 元のものよりも 7 倍ほど速くなるという結果が得られた. C との比較も行い, C の関数呼び出しよりも CbC の軽量継続の方が速いという結果が得られた. \end{abstract} diff -r 3afb4bfe1100 -r e47c56bfcd2f paper/abstract_eng.tex --- a/paper/abstract_eng.tex Mon Feb 15 07:30:44 2016 +0900 +++ b/paper/abstract_eng.tex Mon Feb 15 07:49:26 2016 +0900 @@ -1,2 +1,5 @@ \begin{abstract_eng} + Continuation based C is programming language which uses code segments and data segments. CbC was first implemented on micro-C. GCC based CbC compiler is develeoped in 2008. LLVM clang based CbC compiler is developed in 2014. LLVM CbC compiler has many optimizations but LLVM CbC compiler's assembly code is slower than GCC's one. + +We improved LLVM based CbC compiler. Automatically prototype generation was supported. New version LLVM based CbC compiler's goto with environment is seven times as fast as old version. According to the comparison with C, we get good result that CbC's light weight continuation is faster than C's function call. \end{abstract_eng} diff -r 3afb4bfe1100 -r e47c56bfcd2f paper/master_paper.pdf Binary file paper/master_paper.pdf has changed