view chapter7.tex @ 18:96fc201c4e8c

add bibi
author tatsuki
date Wed, 18 Feb 2015 12:24:03 +0900
parents 7848919edb48
children c197b5dc6e34
line wrap: on
line source

\chapter{検索APIの評価}
\label{chap:poordirection}
\section{測定方法}
測定はmaTrixが書き出した人物、組織等のXMLファイルをXMLReaderでJungleに読み込み構成情報モデルを構築する。
その構成情報モデルに対して、実装したデータに対するアクセス関数の実行時間を測定し、実用的な早さで動作するかを調べる。

\section{測定環境}
プログラムの測定には並列信頼権が所有しているfireflyを使用した。
fireflyのスペックを表\ref{list:VM}に記す
\begin{table}[h]
\caption{実験環境}
\label{list:VM}
\begin{center}
\begin{tabular}{|l|l|} \hline
名前   & 概要      ~ \\ \hline 
CPU    & 24          ~ \\  \hline
Memory & 16GB      ~ \\ \hline
OS     & OSX yosemite 10.10.2          ~ \\ \hline
JavaVM & 1.8.0-25  ~ \\ \hline
\end{tabular}
\end{center}
\end{table}

\newpage
\section{検索のAPIの測定}
Jungleに対する検索APIの測定を行う。
測定には、maTrixが保持しているデータにアクセスする際に用いる関数のうちの1つである、boolen isActive(String personId,String version)という関数を用いる。
isActiveは、第一引数で与えたPersonIdを持つ人物が、第二引数で与えられた構成情報モデルのversionに対応した人物Treeにいるかどうかを調べる関数である。
実験の結果は図\ref{fig:isActive}となる。横軸は人物Treeにいる人の数を表しており、縦軸は探索にかかった時間を表している。


\begin{figure}[h]
\begin{center}
\includegraphics[bb=0 0 360 252]{fig/isActive.pdf}
\caption{inActiveの実行時間}
\label{fig:isActive}
\end{center}
\end{figure}

isActiveの処理時間は、Indexを使用しない場合Personの数が増えると比例して増えていくのに対し、Indexを使用するとPersonの数に関係なく一定の処理時間だった。

この結果より、Jungleに実装した検索APIはIndexを使用することで高速に動作することが確認できた。