Skip to content

Commit

Permalink
tmp
Browse files Browse the repository at this point in the history
  • Loading branch information
akkyie committed Jan 30, 2019
1 parent d91b6d5 commit b8942aa
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 42 deletions.
110 changes: 71 additions & 39 deletions src/050_evaluation.ja.tex
Original file line number Diff line number Diff line change
Expand Up @@ -121,25 +121,41 @@ \section{実行速度}
\caption{libwasmを用いた{\tt fib}関数の実行時間(マイクロ秒)と、必要なクロック数の比}
\label{tab:fib_time}
\begin{center}
\begin{tabular}{|r|r|r||r||r|r|r||r|}
\hline
& Mac mini & ESP32 & 必要クロック数 & & Mac mini & ESP32 & 必要クロック数 \\ \hline
0 & 3 & 267 & 7.1 倍 & 16 & 8,608 & 1,178,811 & 10.9 倍 \\ \hline
1 & 3 & 259 & 6.9 倍 & 17 & 13,815 & 1,933,996 & 11.2 倍 \\ \hline
2 & 9 & 916 & 7.8 倍 & 18 & 22,328 & 3,172,256 & 11.3 倍 \\ \hline
3 & 15 & 1,564 & 8.1 倍 & 19 & 35,609 & 5,202,283 & 11.6 倍 \\ \hline
4 & 25 & 2,799 & 8.9 倍 & 20 & 52,961 & 8,529,805 & 12.8 倍 \\ \hline
5 & 42 & 4,742 & 9.0 倍 & 21 & 83,772 & 13,983,115 & 13.3 倍 \\ \hline
6 & 70 & 7,994 & 9.0 倍 & 22 & 134,115 & 22,918,957 & 13.6 倍 \\ \hline
7 & 118 & 13,302 & 9.0 倍 & 23 & 216,433 & 37,558,837 & 13.8 倍 \\ \hline
8 & 161 & 22,046 & 10.9 倍 & 24 & 349,573 & 61,540,310 & 14.0 倍 \\ \hline
9 & 287 & 36,400 & 10.1 倍 & 25 & 562,661 & 100,818,119 & 14.3 倍 \\ \hline
10 & 408 & 59,973 & 11.7 倍 & 26 & 909,827 & 165,139,586 & 14.5 倍 \\ \hline
11 & 648 & 98,676 & 12.1 倍 & 27 & 1,455,711 & 270,457,743 & 14.8 倍 \\ \hline
12 & 1,432 & 162,208 & 9.0 倍 & 28 & 2,353,144 & 442,878,521 & 15.0 倍 \\ \hline
13 & 2,354 & 266,487 & 9.0 倍 & 29 & 3,847,535 & 725,117,084 & 15.0 倍 \\ \hline
14 & 3,642 & 437,590 & 9.6 倍 & 30 & 6,237,998 & 1,187,057,130 & 15.2 倍 \\ \hline
15 & 5,022 & 718,329 & 11.4 倍 & & & & \\ \hline
\begin{tabular}{rrrr}
\hline
& macOS環境での & ESP32環境での & 実行に必要な \\
& 実行時間($\mu$s) & 実行時間($\mu$s) & クロック数の比 \\ \hline \hline
0 & 3 & 267 & 7.1 倍 \\ \hline
1 & 3 & 259 & 6.9 倍 \\ \hline
2 & 9 & 916 & 7.8 倍 \\ \hline
3 & 15 & 1,564 & 8.1 倍 \\ \hline
4 & 25 & 2,799 & 8.9 倍 \\ \hline
5 & 42 & 4,742 & 9.0 倍 \\ \hline
6 & 70 & 7,994 & 9.0 倍 \\ \hline
7 & 118 & 13,302 & 9.0 倍 \\ \hline
8 & 161 & 22,046 & 10.9 倍 \\ \hline
9 & 287 & 36,400 & 10.1 倍 \\ \hline
10 & 408 & 59,973 & 11.7 倍 \\ \hline
11 & 648 & 98,676 & 12.1 倍 \\ \hline
12 & 1,432 & 162,208 & 9.0 倍 \\ \hline
13 & 2,354 & 266,487 & 9.0 倍 \\ \hline
14 & 3,642 & 437,590 & 9.6 倍 \\ \hline
15 & 5,022 & 718,329 & 11.4 倍 \\ \hline
16 & 8,608 & 1,178,811 & 10.9 倍 \\ \hline
17 & 13,815 & 1,933,996 & 11.2 倍 \\ \hline
18 & 22,328 & 3,172,256 & 11.3 倍 \\ \hline
19 & 35,609 & 5,202,283 & 11.6 倍 \\ \hline
20 & 52,961 & 8,529,805 & 12.8 倍 \\ \hline
21 & 83,772 & 13,983,115 & 13.3 倍 \\ \hline
22 & 134,115 & 22,918,957 & 13.6 倍 \\ \hline
23 & 216,433 & 37,558,837 & 13.8 倍 \\ \hline
24 & 349,573 & 61,540,310 & 14.0 倍 \\ \hline
25 & 562,661 & 100,818,119 & 14.3 倍 \\ \hline
26 & 909,827 & 165,139,586 & 14.5 倍 \\ \hline
27 & 1,455,711 & 270,457,743 & 14.8 倍 \\ \hline
28 & 2,353,144 & 442,878,521 & 15.0 倍 \\ \hline
29 & 3,847,535 & 725,117,084 & 15.0 倍 \\ \hline
30 & 6,237,998 & 1,187,057,130 & 15.2 倍 \\ \hline
\end{tabular}
\end{center}
\end{table}
Expand All @@ -148,25 +164,41 @@ \section{実行速度}
\caption{Webブラウザにおける実行時間と、推測されるESP32上での実行時間(マイクロ秒)}
\label{tab:fib_time_browser}
\begin{center}
\begin{tabular}{|r|r|r||r|r|r|}
\begin{tabular}{rrr}
\hline
& Webブラウザ & ESP32(推測) & & Webブラウザ & ESP32(推測) \\ \hline
0 & 0 & 9 & 16 & 4 & 534 \\ \hline
1 & 0 & 0 & 17 & 6 & 812 \\ \hline
2 & 0 & 10 & 18 & 10 & 1,350 \\ \hline
3 & 0 & 10 & 19 & 15 & 2,235 \\ \hline
4 & 0 & 11 & 20 & 24 & 3,898 \\ \hline
5 & 0 & 11 & 21 & 39 & 6,543 \\ \hline
6 & 0 & 11 & 22 & 63 & 10,715 \\ \hline
7 & 0 & 11 & 23 & 102 & 17,666 \\ \hline
8 & 0 & 14 & 24 & 168 & 29,646 \\ \hline
9 & 0 & 25 & 25 & 272 & 48,755 \\ \hline
10 & 0 & 29 & 26 & 431 & 78,302 \\ \hline
11 & 0 & 61 & 27 & 697 & 129,533 \\ \hline
12 & 1 & 68 & 28 & 1,127 & 212,015 \\ \hline
13 & 1 & 113 & 29 & 1,818 & 342,625 \\ \hline
14 & 2 & 180 & 30 & 2,941 & 559,694 \\ \hline
15 & 3 & 358 & & & \\ \hline
& Webブラウザでの & ESP32での \\
& 実行時間($\mu$s) & 実行時間(推測、$\mu$s) \\ \hline \hline
0 & 0 & 9 \\ \hline
1 & 0 & 0 \\ \hline
2 & 0 & 10 \\ \hline
3 & 0 & 10 \\ \hline
4 & 0 & 11 \\ \hline
5 & 0 & 11 \\ \hline
6 & 0 & 11 \\ \hline
7 & 0 & 11 \\ \hline
8 & 0 & 14 \\ \hline
9 & 0 & 25 \\ \hline
10 & 0 & 29 \\ \hline
11 & 0 & 61 \\ \hline
12 & 1 & 68 \\ \hline
13 & 1 & 113 \\ \hline
14 & 2 & 180 \\ \hline
15 & 3 & 358 \\ \hline
16 & 4 & 534 \\ \hline
17 & 6 & 812 \\ \hline
18 & 10 & 1,350 \\ \hline
19 & 15 & 2,235 \\ \hline
20 & 24 & 3,898 \\ \hline
21 & 39 & 6,543 \\ \hline
22 & 63 & 10,715 \\ \hline
23 & 102 & 17,666 \\ \hline
24 & 168 & 29,646 \\ \hline
25 & 272 & 48,755 \\ \hline
26 & 431 & 78,302 \\ \hline
27 & 697 & 129,533 \\ \hline
28 & 1,127 & 212,015 \\ \hline
29 & 1,818 & 342,625 \\ \hline
30 & 2,941 & 559,694 \\ \hline
\end{tabular}
\end{center}
\end{table}
Expand All @@ -184,9 +216,9 @@ \section{メモリフットプリント}
\caption{ESP32環境におけるメモリフットプリントの推移(バイト)}
\label{tab:heap_size}
\begin{center}
\begin{tabular}{|r|r|r|r|}
\begin{tabular}{rrrr}
\hline
& 未確保領域 & 起動からの確保量 & フットプリントの増加 \\ \hline
& 未確保領域 & 起動からの確保量 & フットプリントの増加 \\ \hline \hline
起動後 & 294,460 & 0 & - \\ \hline
パース後 & 294,424 & 36 & 36 \\ \hline
インスタンス化後 & 294,264 & 196 & 160 \\ \hline
Expand Down
9 changes: 6 additions & 3 deletions src/060_conclusion.ja.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ \chapter{結論}
\section{本研究のまとめ}
\label{section:conclusion}

本研究では、マイコンにおける実行内容をWebAssemblyで記述することで動的なプログラムの実行が可能になるという仮説のもと、マイコン向けWebAssembly実行環境を設計した。また、その実現可能性を評価するため、WebAssemblyバイナリのインタプリタをESP32上に実装し、実行速度とメモリフットプリントを計測した。
本研究では、マイコンにおける実行内容をWebAssemblyで記述することで動的なプログラムの実行が可能になるという仮説のもと、マイコン向けWebAssembly実行環境を設計した。
また、その実現可能性を評価するため、WebAssemblyバイナリのインタプリタをC言語で実装した。

その結果、定数を返す関数実行で約260倍、加算と関数呼び出しを含む関数実行で約3000倍のオーバーヘッドがあった。
また、メモリフットプリントについて、関数呼び出しの度に208バイトの増加が見られた。
実装したWebAssemblyインタプリタを用いて、ESP32上およびPC上で同一のWebAsseblyプログラムを実行し、実行時間およびメモリフットプリントを計測した。
実行時間では、ESP32上での実行はPC上での実行に比べ、クロック数による比較でおよそ7倍から15倍の時間がかかることが分かった。
この結果をPC上のWebブラウザの実行性能と比較し、ESP32上で〜なWebAssemblyインタプリタが実現できた場合、30番目のフィボナッチ数の計算を約560ミリ秒で行えることが分かった。
また、メモリフットプリントについて、208バイトのメモリ消費で関数呼び出しが行えることが分かった。

\section{今後の課題}

Expand Down

0 comments on commit b8942aa

Please sign in to comment.