diff Slide/slide.html @ 86:2c38abf2c77d

add poster
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Wed, 09 Jan 2019 19:13:02 +0900
parents 1f4e174f0f1a
children 632f160ccbd0
line wrap: on
line diff
--- a/Slide/slide.html	Tue Jan 08 19:32:49 2019 +0900
+++ b/Slide/slide.html	Wed Jan 09 19:13:02 2019 +0900
@@ -94,11 +94,10 @@
 <h2 id="研究目的">研究目的</h2>
 <ul>
   <li>スクリプト言語であるPerl5の後継言語としてPerl6が現在開発されている.</li>
-  <li>Perl6は設計と実装が区分されており様々な処理系が開発されている.現在主流なPerl6はRakudoと言われるプロジェクトである.</li>
+  <li>現在主流なPerl6はRakudoと言われるプロジェクトである.</li>
   <li>RakudoではPerl6自体をNQP(NotQuitPerl)と言われるPerl6のサブセットで記述し, NQPをVMが解釈するという処理の流れになっている.</li>
-  <li>このVMは任意のVMが選択できるようになっており, 現在はMoarVM, JavaVM, JavaScriptが動作環境として選択可能である.</li>
-  <li>主に利用されているVMにCで書かれたMoarVMが存在する.</li>
-  <li>MoarVMはJITコンパイルなどをサポートしているが, 全体的な起動時間及び処理速度がPerl5と比較し非常に低速である.</li>
+  <li>主に利用されているVMに, Cで書かれたMoarVMが存在する.</li>
+  <li>MoarVMは全体的な起動時間及び処理速度が, Perl5と比較し非常に低速である.</li>
   <li>この問題を解決するためにContinuation based C (CbC)という言語を一部用いてMoarVMの書き換えを行う.</li>
   <li>CbCを用いたMoarVMの書き換えを検討し,並列デバッグ方法などについて検討する.</li>
 </ul>
@@ -190,7 +189,7 @@
 
 <ul>
   <li>Perl6とはPerl5の後継言語として当初開発が開始された言語である.</li>
-  <li>仕様と実装が分離しており, 仕様は公式テストスイートであるRoastそのものとなっている.</li>
+  <li>仕様と実装が分離しており, 仕様は公式テストスーツであるRoastそのものとなっている.</li>
   <li>歴史的にHaskellで実装されたPugs, Pythonとの共同基盤を目指したParrotなどの実装が存在する.</li>
   <li>言語仕様としては漸進的型付け言語であり, 従来のPerl5とは互換性が無い.</li>
   <li>現在の主要な実装はRakudoと呼ばれる実装である.</li>
@@ -659,6 +658,47 @@
 </code></pre>
 
 
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="現在のcbcmoarvm">現在のCbCMoarVM</h2>
+
+<ul>
+  <li>現在はNQP, Rakudoのセルフビルドが達成でき, オリジナルと同等のテスト達成率を持っている</li>
+  <li>moarの起動時のオプションとして <code>--cbc</code> を与えることによりCbCで動き, そうでない場合は通常のCで記述された箇所で実行される</li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="cbcmoarvmの利点">CbCMoarVMの利点</h2>
+
+<ul>
+  <li>バイトコードインタプリタの箇所をモジュール化する事が可能となり, CodeGearの再利用性や記述生が高まる</li>
+  <li>デバッグ時にラベルではなくCodeGearにbreakpointを設定可能となり,デバッグが安易となる</li>
+  <li>ThreadedCodeを実装する場合, CodeGearを組み合わせることにより実装する事が可能となる</li>
+</ul>
+
+
+
+</div>
+
+<div class='slide'>
+  <!-- _S9SLIDE_ -->
+<h2 id="cbcmoarvmの欠点">CbCMoarVMの欠点</h2>
+
+<ul>
+  <li>CbCコンパイラがバグを発生させやすく, 意図しない挙動を示す事がある</li>
+  <li>MoarVMのオリジナルの更新頻度が高い為, 追従していく必要がある</li>
+  <li>CodeGear側からCに戻る際に手順が複雑となる</li>
+  <li>CodeGearを単位として用いる事で複雑なプログラミングが要求される.</li>
+</ul>
+
+
 
 </div>