Mercurial > hg > Papers > 2020 > koo-thesis
changeset 13:521a4e1d5af6
update chapter1
author | e165727 <e165727@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 15 Feb 2020 17:51:56 +0900 |
parents | 0320a82ac2e2 |
children | 06fcc4caf38d |
files | Paper/chapter1.tex Paper/main.pdf |
diffstat | 2 files changed, 8 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/chapter1.tex Sat Feb 15 16:41:11 2020 +0900 +++ b/Paper/chapter1.tex Sat Feb 15 17:51:56 2020 +0900 @@ -6,25 +6,20 @@ \section{背景と目的} %\section{ Perl6 の起動時間の改善} - -現在開発の進んでいる言語に Raku がある. -スクリプト言語 Raku は任意の VM が選択できるようになっており, 主に利用されている VM に C で書かれた MoarVM が存在する. -MoarVM は JIT コンパイルなどをサポートしているが, 全体的な起動時間及び処理速度が Perl5 や Python , Ruby などの他のスクリプト言語と比較し非常に低速である. -その為, 現在日本国内では Raku は実務としてあまり使われていない. +現在多くのスクリプト言語はインタプリタ型言語であり, 実行時にインタプリタの立ち上げ, モジュールを読み込み, スクリプトの解釈, スクリプトの実行 といったような処理を担っている. +これらの処理の中にはOS上で事前に行うことで, より起動時間, 及び処理時間の短縮が予想される. -Raku の持つ言語機能や型システムは非常に柔軟かつ強力であるため, 実用的な処理速度に達すれば, 言語の利用件数が向上することが期待される. -Raku は MoarVM に基づくJIT コンパイラを持っており,コンパイルされた結果はプロセッサが実行可能な機械語に相当する. +現在開発の進んでいる言語に スクリプト言語 Raku がある. +Raku は任意の VM が選択できるようになっており, 主に利用されている VM に C で書かれた MoarVM が存在する. +MoarVM は JIT コンパイルなどをサポートしているが, 全体的な起動時間及び処理速度が Perl5 や Python , Ruby などの他のスクリプト言語と比較し非常に低速である. +%Raku は MoarVM に基づくJIT コンパイラを持っており,コンパイルされた結果はプロセッサが実行可能な機械語に相当する. -Raku のような言語に JITコンパイラを持ち, 起動時間が遅い PyPy などの言語がある -本研究では, このようなスクリプト言語の起動時間及び, 処理速度の改善を図る +Raku のような言語に JITコンパイラを持ち, 起動時間が遅い PyPy などの言語がある. +本研究では, スクリプト言語 Raku の起動時間及び, 処理速度の改善を図り, 研究をするにあたり得られた, OS上でscript言語を実行する場合の利点と欠点について述べ, 今後の展望について記載する. また, その手法として同一ホスト内で終了せずに実行を続けるサーバープロセスを立ち上げ, このサーバープロセス上で立ち上げておいたコンパイラに実行するファイル名を転送し,サーバー上でコンパイルを行う手法を提案する. 著者らは, この提案手法に沿って『Abyss サーバー』を実装している. -またサーバーでは, サーバーに投げられた Raku スクリプトをコンパイラで実行する際に, そのスクリプトが次に実行するスクリプトに影響を与えないことを保証する必要がある. - -研究をするにあたり得られた, サーバー上でscript言語を実行する場合の利点と欠点について述べ, 今後の展望について記載する. - \section{論文の構成} 本論文は全 5 章で構成される。2 章では Raku の概要について紹介する。 3 章では 提案手法で述べた「Abyss Server」の具体的な実装について解説する。4 章では Abyss Server の性能評価について解説する。5 章はまとめとなっている。 %また、本論文末尾には付録として BluePrints の簡易的な解説を掲載した。4 章に入る前 に読んでおくと実装の理解がしやすいだろう。