Mercurial > hg > Papers > 2019 > koo-prosym
diff Slide/Slide.html @ 7:126266fc2c30
Slide追加
author | e165727 <e165727@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 25 Dec 2019 14:47:50 +0900 |
parents | |
children | 3343b5914245 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Slide/Slide.html Wed Dec 25 14:47:50 2019 +0900 @@ -0,0 +1,156 @@ + + + + + +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="content-type" content="text/html;charset=utf-8"> + <title>Perl6(Raku)のサーバーを使った高速実行</title> + + <meta name="generator" content="Slide Show (S9) v4.0.1 on Ruby 2.3.7 (2018-03-28) [universal.x86_64-darwin18]"> + <meta name="author" content="Kouki Fukuda, Shinji Kono" > + +<!-- style sheet links --> +<link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> +<link rel="stylesheet" href="s6/themes/screen.css" media="screen"> +<link rel="stylesheet" href="s6/themes/print.css" media="print"> +<link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection"> + +<!-- JS --> +<script src="s6/js/jquery-1.11.3.min.js"></script> +<script src="s6/js/jquery.slideshow.js"></script> +<script src="s6/js/jquery.slideshow.counter.js"></script> +<script src="s6/js/jquery.slideshow.controls.js"></script> +<script src="s6/js/jquery.slideshow.footer.js"></script> +<script src="s6/js/jquery.slideshow.autoplay.js"></script> + +<!-- prettify --> +<link rel="stylesheet" href="scripts/prettify.css"> +<script src="scripts/prettify.js"></script> + +<script> + $(document).ready( function() { + Slideshow.init(); + + $('code').each(function(_, el) { + if (!el.classList.contains('noprettyprint')) { + el.classList.add('prettyprint'); + } + }); + prettyPrint(); + } ); + +</script> + +<!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> +<!--[if IE]> +<script src="s6/js/jquery.microsoft.js"></script> +<![endif]--> + + + +</head> +<body> + +<div class="layout"> + <div id="header"></div> + <div id="footer"> + <div align="right"> + <img src="s6/images/logo.svg" width="200px"> + </div> + </div> +</div> + +<div class="presentation"> + + <div class='slide cover'> + <table width="90%" height="90%" border="0" align="center"> + <tr> + <td> + <div align="center"> + <h1><font color="#808db5">Perl6(Raku)のサーバーを使った高速実行</font></h1> + </div> + </td> + </tr> + <tr> + <td> + <div align="left"> + Kouki Fukuda, Shinji Kono + 琉球大学 + <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> + </div> + </td> + </tr> + </table> + </div> + + + +<div class='slide'> + +<!-- _S9SLIDE_ --> +<h2 id="研究背景">研究背景</h2> +<ul> + <li>現在開発の進んでいる言語に Perl6 がある. +スクリプト言語 Perl6 は任意の VM が選択できるようになっており, 主に利用されている VM に C で書かれた MoarVM が存在する.</li> + <li>MoarVM は JIT コンパイルなどをサポートしているが, 全体的な起動時間及び処理速度が Perl5 や Python , Ruby などの他のスクリプト言語と比較し非常に低速である. +その為, 現在日本国内では Perl6 は実務としてあまり使われていない.</li> + <li>Perl6 の持つ言語機能や型システムは非常に柔軟かつ強力であるため, 実用的な処理速度に達すれば, 言語の利用件数が向上することが期待される.</li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="研究概要">研究概要</h2> +<ul> + <li>Perl6 の実装の一つであるRakudoは、Byte code である MoarVM と、それ上で動作する Perl6 のsubsetであるnqp (Not Quite Perl)上に構成されている。</li> + <li>現状のPerl6の実行はPerl6で記述されたコンパイラをloadしてJITしながら実行すること自体に時間がかかっている。</li> + <li>そこで、Perl6をサーバとして動作させ、実行するファイルをサーバに投げて実行する方法を検討する</li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="perl6-による-abyss-の実装">Perl6 による Abyss の実装</h2> + +<pre><code>unit class Abyss::Server:ver<0.0.1>; +use MONKEY-SEE-NO-EVAL; + +method readeval { + my $listen = IO::Socket::INET.new( + :listen, + :localhost<localhost>, + :localport(3333) + ); + loop { + my $conn = $listen.accept; + while my $buf = $conn.read(1024) { + EVALFILE $buf.decode; + } + $conn.close; + } +} +</code></pre> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="todo">Todo</h2> + +</div> + + +</div><!-- presentation --> +</body> +</html>