Mercurial > hg > Papers > 2019 > koo-prosym
changeset 12:172524516d06
Slide更新中
author | e165727 <e165727@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 09 Jan 2020 18:22:55 +0900 |
parents | 607ada55055a |
children | 4e34198dcd05 |
files | Slide/Slide.html Slide/Slide.md Slide/Slide.pdf.html |
diffstat | 3 files changed, 67 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/Slide/Slide.html Wed Jan 08 22:40:16 2020 +0900 +++ b/Slide/Slide.html Thu Jan 09 18:22:55 2020 +0900 @@ -245,17 +245,6 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="予測">予測</h2> -<ul> - <li>前述した通り,Rakuは起動に時間がかかっているため</li> -</ul> - - - -</div> - -<div class='slide'> - <!-- _S9SLIDE_ --> <h2 id="raku-による-abyssサーバーの実装">Raku による Abyssサーバーの実装</h2> <ul> <li>提案手法に沿い『Abyssサーバー』を実装した.</li> @@ -273,7 +262,8 @@ <!-- _S9SLIDE_ --> <h2 id="raku-の-unix-domain-socket-実装">Raku の Unix domain socket 実装</h2> <ul> - <li>後で書く</li> + <li>Rakuには現在Unix domain socketの実装がないため,Unix domain socket の実装を行なった.</li> + <li></li> </ul> @@ -282,7 +272,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="予測-1">予測</h2> +<h2 id="予測">予測</h2> <ul> <li>前述した通り, Raku はコンパイラの起動に時間がかかっているため,提案手法を用いることで起動時間分早く実行することができると予測する.</li> </ul> @@ -307,6 +297,23 @@ <!-- _S9SLIDE_ --> <h2 id="実行結果">実行結果</h2> +<ul> + <li>通常実行 + <ul> + <li>0.2695 sec</li> + <li>0.2131 sec</li> + <li>0.3143 sec</li> + </ul> + </li> + <li>提案手法 + <ul> + <li>0.0238 sec</li> + <li>0.0219 sec</li> + <li>0.0275 sec</li> + </ul> + </li> +</ul> + </div> @@ -383,7 +390,7 @@ <!-- _S9SLIDE_ --> <h2 id="abyss-serverの利点">Abyss Serverの利点</h2> <ul> - <li>Abyss Serverを用いて実行することで, サーバー上で事前に起動した Rakudo を再利用し, 投げられた Perl6 スクリプトの実行を行うため, Rakudo の全体的な処理時間を短縮できる.</li> + <li>Abyss Serverを用いて実行することで, サーバー上で事前に起動した Rakudo を再利用し, 投げられた Perl6 スクリプトの実行を行うため, Rakudo の起動時間を短縮できる.</li> </ul> @@ -393,7 +400,9 @@ <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="abyss-serverの欠点">Abyss Serverの欠点</h2> -<p>-</p> +<ul> + <li>現在 Abyss Server には 一度スクリプトを実行した後にサーバー内の環境をリセットする機能が存在しないため,</li> +</ul> @@ -405,6 +414,8 @@ <ul> <li>Raku の新たな実行方法の提案,及び実装を行なった.</li> <li>Raku にUnix domain socket の実装を行なった.</li> + <li>Raku の速度改善において, 同一ホスト内でサーバープロセスを立ち上げて,サーバープロセス内であらかじめ立ち上げておいたコンパイラを立ち上げて起き, 実行するファイル名を転送し,サーバープロセス上でコンパイルを行う手法は有効であると考えられる</li> + <li>今後は</li> </ul>
--- a/Slide/Slide.md Wed Jan 08 22:40:16 2020 +0900 +++ b/Slide/Slide.md Thu Jan 09 18:22:55 2020 +0900 @@ -84,9 +84,6 @@ ## Rakuが遅い理由 - 後で書く -## 予測 -- 前述した通り,Rakuは起動に時間がかかっているため - ## Raku による Abyssサーバーの実装 - 提案手法に沿い『Abyssサーバー』を実装した. - AbyssサーバーはUnix domain socketを用いて送信した Raku スクリプトを実行するためのサーバーである. @@ -95,7 +92,8 @@ ![](fig/abyss.svg) ## Raku の Unix domain socket 実装 -- 後で書く +- Rakuには現在Unix domain socketの実装がないため,Unix domain socket の実装を行なった. +- ## 予測 - 前述した通り, Raku はコンパイラの起動に時間がかかっているため,提案手法を用いることで起動時間分早く実行することができると予測する. @@ -106,6 +104,15 @@ ## 実行結果 +- 通常実行 + - 0.2695 sec + - 0.2131 sec + - 0.3143 sec + +- 提案手法 + - 0.0238 sec + - 0.0219 sec + - 0.0275 sec ## Abyss Server側の実装 - Abyss サーバーは起動すると, まず自身にファイルパスを転送するためのソケットを生成し, その後 ファイルを受け取るための待機ループに入る. @@ -155,14 +162,16 @@ ``` ## Abyss Serverの利点 -- Abyss Serverを用いて実行することで, サーバー上で事前に起動した Rakudo を再利用し, 投げられた Perl6 スクリプトの実行を行うため, Rakudo の全体的な処理時間を短縮できる. +- Abyss Serverを用いて実行することで, サーバー上で事前に起動した Rakudo を再利用し, 投げられた Perl6 スクリプトの実行を行うため, Rakudo の起動時間を短縮できる. ## Abyss Serverの欠点 -- +- 現在 Abyss Server には 一度スクリプトを実行した後にサーバー内の環境をリセットする機能が存在しないため, ## まとめと今後の課題 - Raku の新たな実行方法の提案,及び実装を行なった. - Raku にUnix domain socket の実装を行なった. +- Raku の速度改善において, 同一ホスト内でサーバープロセスを立ち上げて,サーバープロセス内であらかじめ立ち上げておいたコンパイラを立ち上げて起き, 実行するファイル名を転送し,サーバープロセス上でコンパイルを行う手法は有効であると考えられる +- 今後は ## Raku の実装に関わる様々な言語 - Raku は,Larry wallにより設計されたオブジェクト指向スクリプト言語である.
--- a/Slide/Slide.pdf.html Wed Jan 08 22:40:16 2020 +0900 +++ b/Slide/Slide.pdf.html Thu Jan 09 18:22:55 2020 +0900 @@ -229,17 +229,6 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="予測">予測</h2> -<ul> - <li>前述した通り,Rakuは起動に時間がかかっているため</li> -</ul> - - - -</div> - -<div class='slide'> - <!-- _S9SLIDE_ --> <h2 id="raku-による-abyssサーバーの実装">Raku による Abyssサーバーの実装</h2> <ul> <li>提案手法に沿い『Abyssサーバー』を実装した.</li> @@ -257,7 +246,8 @@ <!-- _S9SLIDE_ --> <h2 id="raku-の-unix-domain-socket-実装">Raku の Unix domain socket 実装</h2> <ul> - <li>後で書く</li> + <li>Rakuには現在Unix domain socketの実装がないため,Unix domain socket の実装を行なった.</li> + <li></li> </ul> @@ -266,7 +256,7 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="予測-1">予測</h2> +<h2 id="予測">予測</h2> <ul> <li>前述した通り, Raku はコンパイラの起動に時間がかかっているため,提案手法を用いることで起動時間分早く実行することができると予測する.</li> </ul> @@ -291,6 +281,23 @@ <!-- _S9SLIDE_ --> <h2 id="実行結果">実行結果</h2> +<ul> + <li>通常実行 + <ul> + <li>0.2695 sec</li> + <li>0.2131 sec</li> + <li>0.3143 sec</li> + </ul> + </li> + <li>提案手法 + <ul> + <li>0.0238 sec</li> + <li>0.0219 sec</li> + <li>0.0275 sec</li> + </ul> + </li> +</ul> + </div> @@ -367,7 +374,7 @@ <!-- _S9SLIDE_ --> <h2 id="abyss-serverの利点">Abyss Serverの利点</h2> <ul> - <li>Abyss Serverを用いて実行することで, サーバー上で事前に起動した Rakudo を再利用し, 投げられた Perl6 スクリプトの実行を行うため, Rakudo の全体的な処理時間を短縮できる.</li> + <li>Abyss Serverを用いて実行することで, サーバー上で事前に起動した Rakudo を再利用し, 投げられた Perl6 スクリプトの実行を行うため, Rakudo の起動時間を短縮できる.</li> </ul> @@ -377,7 +384,9 @@ <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="abyss-serverの欠点">Abyss Serverの欠点</h2> -<p>-</p> +<ul> + <li>現在 Abyss Server には 一度スクリプトを実行した後にサーバー内の環境をリセットする機能が存在しないため,</li> +</ul> @@ -389,6 +398,8 @@ <ul> <li>Raku の新たな実行方法の提案,及び実装を行なった.</li> <li>Raku にUnix domain socket の実装を行なった.</li> + <li>Raku の速度改善において, 同一ホスト内でサーバープロセスを立ち上げて,サーバープロセス内であらかじめ立ち上げておいたコンパイラを立ち上げて起き, 実行するファイル名を転送し,サーバープロセス上でコンパイルを行う手法は有効であると考えられる</li> + <li>今後は</li> </ul>