Mercurial > hg > Papers > 2019 > koo-prosym
comparison 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 |
comparison
equal
deleted
inserted
replaced
6:82be652de341 | 7:126266fc2c30 |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 <!DOCTYPE html> | |
7 <html> | |
8 <head> | |
9 <meta http-equiv="content-type" content="text/html;charset=utf-8"> | |
10 <title>Perl6(Raku)のサーバーを使った高速実行</title> | |
11 | |
12 <meta name="generator" content="Slide Show (S9) v4.0.1 on Ruby 2.3.7 (2018-03-28) [universal.x86_64-darwin18]"> | |
13 <meta name="author" content="Kouki Fukuda, Shinji Kono" > | |
14 | |
15 <!-- style sheet links --> | |
16 <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> | |
17 <link rel="stylesheet" href="s6/themes/screen.css" media="screen"> | |
18 <link rel="stylesheet" href="s6/themes/print.css" media="print"> | |
19 <link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection"> | |
20 | |
21 <!-- JS --> | |
22 <script src="s6/js/jquery-1.11.3.min.js"></script> | |
23 <script src="s6/js/jquery.slideshow.js"></script> | |
24 <script src="s6/js/jquery.slideshow.counter.js"></script> | |
25 <script src="s6/js/jquery.slideshow.controls.js"></script> | |
26 <script src="s6/js/jquery.slideshow.footer.js"></script> | |
27 <script src="s6/js/jquery.slideshow.autoplay.js"></script> | |
28 | |
29 <!-- prettify --> | |
30 <link rel="stylesheet" href="scripts/prettify.css"> | |
31 <script src="scripts/prettify.js"></script> | |
32 | |
33 <script> | |
34 $(document).ready( function() { | |
35 Slideshow.init(); | |
36 | |
37 $('code').each(function(_, el) { | |
38 if (!el.classList.contains('noprettyprint')) { | |
39 el.classList.add('prettyprint'); | |
40 } | |
41 }); | |
42 prettyPrint(); | |
43 } ); | |
44 | |
45 </script> | |
46 | |
47 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> | |
48 <!--[if IE]> | |
49 <script src="s6/js/jquery.microsoft.js"></script> | |
50 <![endif]--> | |
51 | |
52 | |
53 | |
54 </head> | |
55 <body> | |
56 | |
57 <div class="layout"> | |
58 <div id="header"></div> | |
59 <div id="footer"> | |
60 <div align="right"> | |
61 <img src="s6/images/logo.svg" width="200px"> | |
62 </div> | |
63 </div> | |
64 </div> | |
65 | |
66 <div class="presentation"> | |
67 | |
68 <div class='slide cover'> | |
69 <table width="90%" height="90%" border="0" align="center"> | |
70 <tr> | |
71 <td> | |
72 <div align="center"> | |
73 <h1><font color="#808db5">Perl6(Raku)のサーバーを使った高速実行</font></h1> | |
74 </div> | |
75 </td> | |
76 </tr> | |
77 <tr> | |
78 <td> | |
79 <div align="left"> | |
80 Kouki Fukuda, Shinji Kono | |
81 琉球大学 | |
82 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> | |
83 </div> | |
84 </td> | |
85 </tr> | |
86 </table> | |
87 </div> | |
88 | |
89 | |
90 | |
91 <div class='slide'> | |
92 | |
93 <!-- _S9SLIDE_ --> | |
94 <h2 id="研究背景">研究背景</h2> | |
95 <ul> | |
96 <li>現在開発の進んでいる言語に Perl6 がある. | |
97 スクリプト言語 Perl6 は任意の VM が選択できるようになっており, 主に利用されている VM に C で書かれた MoarVM が存在する.</li> | |
98 <li>MoarVM は JIT コンパイルなどをサポートしているが, 全体的な起動時間及び処理速度が Perl5 や Python , Ruby などの他のスクリプト言語と比較し非常に低速である. | |
99 その為, 現在日本国内では Perl6 は実務としてあまり使われていない.</li> | |
100 <li>Perl6 の持つ言語機能や型システムは非常に柔軟かつ強力であるため, 実用的な処理速度に達すれば, 言語の利用件数が向上することが期待される.</li> | |
101 </ul> | |
102 | |
103 | |
104 | |
105 </div> | |
106 | |
107 <div class='slide'> | |
108 <!-- _S9SLIDE_ --> | |
109 <h2 id="研究概要">研究概要</h2> | |
110 <ul> | |
111 <li>Perl6 の実装の一つであるRakudoは、Byte code である MoarVM と、それ上で動作する Perl6 のsubsetであるnqp (Not Quite Perl)上に構成されている。</li> | |
112 <li>現状のPerl6の実行はPerl6で記述されたコンパイラをloadしてJITしながら実行すること自体に時間がかかっている。</li> | |
113 <li>そこで、Perl6をサーバとして動作させ、実行するファイルをサーバに投げて実行する方法を検討する</li> | |
114 </ul> | |
115 | |
116 | |
117 | |
118 </div> | |
119 | |
120 <div class='slide'> | |
121 <!-- _S9SLIDE_ --> | |
122 <h2 id="perl6-による-abyss-の実装">Perl6 による Abyss の実装</h2> | |
123 | |
124 <pre><code>unit class Abyss::Server:ver<0.0.1>; | |
125 use MONKEY-SEE-NO-EVAL; | |
126 | |
127 method readeval { | |
128 my $listen = IO::Socket::INET.new( | |
129 :listen, | |
130 :localhost<localhost>, | |
131 :localport(3333) | |
132 ); | |
133 loop { | |
134 my $conn = $listen.accept; | |
135 while my $buf = $conn.read(1024) { | |
136 EVALFILE $buf.decode; | |
137 } | |
138 $conn.close; | |
139 } | |
140 } | |
141 </code></pre> | |
142 | |
143 | |
144 | |
145 </div> | |
146 | |
147 <div class='slide'> | |
148 <!-- _S9SLIDE_ --> | |
149 <h2 id="todo">Todo</h2> | |
150 | |
151 </div> | |
152 | |
153 | |
154 </div><!-- presentation --> | |
155 </body> | |
156 </html> |