view Paper/chapter5.tex @ 23:58dd8e127e4b

update paper & Slide
author e165727 <e165727@ie.u-ryukyu.ac.jp>
date Sun, 16 Feb 2020 20:49:19 +0900
parents 0137c5074de4
children
line wrap: on
line source

\chapter{まとめ}
本稿では実行する Raku スクリプトのファイル名をサーバーに転送し,コンパイラサーバーでコンパイルを行い実行する手法の提案を行なった.
また, 提案手法に沿って「Abyss Server」を実装した. \\

Raku の速度改善において, 同一ホスト内でサーバープロセスを生成し,サーバープロセス内であらかじめコンパイラを立ち上げて起き, 実行するファイル名を転送し,サーバープロセス上でコンパイルを行う手法は有効であると考えられる \\

OS上でスクリプト言語を実行する際の最適な方法として,提案手法のようにコンパイラを再利用する方法は有効である. \\
またOS上でスクリプト言語を実行する際に, OS側で用意されてあるべきAPIとしては以下のようなものが挙げられる
\begin{itemize}
\item 提案手法のように一度立ち上げられたインタプリタを立ち上げたままにする機能
\item 複数回投げられたスクリプトの実行結果もしくはbasic block を保存できる機能
\item モジュールをRuntimeでロードする機能
\item 実行するスクリプトの周りにあるJsonファイルをあらかじめParseしておく
\end{itemize}

また今後のAbyssサーバーの開発において期待される改善点には以下のようなものがある \\
\begin{itemize}
\item コンパイラの起動が遅い言語だけでなく, モジュールの読み込みが遅い言語などを, あらかじめサーバーを側でモジュールを読み込んでおき, それを利用してプログラムを実行する手法も応用できるように改良を行う.
\item スクリプトを送る際にモジュールも送信する機能の追加
\item プログラムの実行終了したらモジュールを削除する機能の追加
\item 数回スクリプトが投げられたら, サーバーを落とすなどのリソース管理の実装
\end{itemize}
%またscript言語をサーバー上で実行する場合の欠点については以下のようなものが見られる
%\begin{itemize}
%\item
%\end{itemize}
今後の開発を行っていくにあたって, 他の script 言語にも応用できるように開発を行っていく.