Mercurial > hg > Papers > 2020 > tobiuo-midterm
changeset 16:404d88c60399
Fix format.
author | Kaito Okura <e175748@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Sep 2020 16:51:40 +0900 |
parents | 1363cbcfcdf3 |
children | a873cb5949cd |
files | midterm.pdf text/abstract.tex text/abyss.tex |
diffstat | 3 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/text/abstract.tex Tue Sep 15 16:26:41 2020 +0900 +++ b/text/abstract.tex Tue Sep 15 16:51:40 2020 +0900 @@ -1,9 +1,9 @@ \begin{abstract} 現在開発の進んでいる言語にスクリプト言語のRakuがある. Rakuは起動時間がPerl5やPython, Rubyなどの主要なスクリプト言語に比べて非常に低速である. - Rakuは, コンパイラがRakuそのもので書かれているため, 毎回コンパイラのロードとコンパイル, JITコンパイルを繰り返すことになる. + RakuはコンパイラがRakuそのもので書かれているため, 毎回コンパイラのロードとコンパイル, JITコンパイルを繰り返すことになる. 最近のスクリプト言語では, コンパイラが自身で書かれているケースが多い. - 例えば, Pypy, golang, Haskellなどである. + 例えば, PyPy, Go言語, Haskellなどである. そこで, この問題を解決するために, 既にコンパイラをロードしてあるサーバーを用意し, サーバー上でスクリプト言語を実行する手法を提案している. Rakuに対しては, 当研究室にてAbyssサーバーを開発している. \\
--- a/text/abyss.tex Tue Sep 15 16:26:41 2020 +0900 +++ b/text/abyss.tex Tue Sep 15 16:51:40 2020 +0900 @@ -1,5 +1,5 @@ \section{Abyssサーバー} -本研究で提案しているAbyssサーバーはクライアント側から投げられたRakuスクリプトを実行するためのサーバーである. +本稿で提案しているAbyssサーバーはクライアント側から投げられたRakuスクリプトを実行するためのサーバーである. Figure2はAbyssサーバーを用いたRakuの実行手順である. AbyssサーバーはユーザーがRakuを直接立ち上げるのではなく, まず同一ホスト内でAbyssサーバーを起動し, ユーザーはAbyssサーバーにファイルパスをソケット通信で送り, Abyssサーバーがファイルを開き実行し, その実行結果をユーザーに返す. @@ -10,11 +10,11 @@ \label{fig:Abyss_execute} \end{center} -\section{Abyssサーバーの課題} +\section{Abyssサーバーの高速化} Rakuは開発中のため, 主なアプリケーションはコンパイラとテストコードしかない. 最初の目標として, テストの高速化を行う. -現状では..秒かかる. -テストは..項目あり, 連続的に実行される. +% 現状では..秒かかる. +% テストは..項目あり, 連続的に実行される. 我々の方法では, テストスクリプトをサーバーに連続的に送り実行することになる. この時に, 毎回コンパイラをロードしなおすのでは高速化にならない. サーバーからの出力はソケット経由で行われるが, 各テスト項目ごとにソケットのopen/closeを繰り返すのは望ましくない.