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&lt;0.0.1&gt;;
125 use MONKEY-SEE-NO-EVAL;
126
127 method readeval {
128 my $listen = IO::Socket::INET.new(
129 :listen,
130 :localhost&lt;localhost&gt;,
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>