diff --git a/bachelor-project-nikolaj.pdf b/bachelor-project-nikolaj.pdf index 70a5cb3..bc67dd2 100644 Binary files a/bachelor-project-nikolaj.pdf and b/bachelor-project-nikolaj.pdf differ diff --git a/bachelor-project-nikolaj.tex b/bachelor-project-nikolaj.tex index 4d5277c..9291699 100644 --- a/bachelor-project-nikolaj.tex +++ b/bachelor-project-nikolaj.tex @@ -288,7 +288,7 @@ \begin{tabular}{|c||c|c|c|c|}\hline \textbf{Identifier} & \textbf{CPU} & \textbf{Cores} & \textbf{Clock speed} & \textbf{Memory} \\ \hline Laptop & Intel i5-8250U & 4 & 1.6GHz & 8GB \\ \hline - Desktop & & & & \\ \hline + Desktop & Intel i7-7700K & 4 & 4.2GHz & 32GB \\ \hline \end{tabular} \end{table} @@ -309,21 +309,21 @@ 100 & 45ms & 0.45ms & 7.2s & 72ms & 0.86s & 8.6ms \\\hline 1,000 & 0.63s & 0.63ms & 17s & 17ms & 5.6s & 5.6ms \\\hline\hline \multicolumn{7}{|c|}{\textbf{Desktop}} \\ \hline - 1 & & & & & & \\\hline - 10 & & & & & & \\\hline - 100 & & & & & & \\\hline - 1000 & & & & & & \\\hline + 1 & 0.40ms & 0.40ms & 2.2ms & 2.2ms & 1.6ms & 1.6ms \\\hline + 10 & 3.0ms & 0.30ms & 1.0s & 0.10s & 56ms & 5.6ms \\\hline + 100 & 25ms & 0.25ms & 2.2s & 22ms & 0.44s & 4.4ms \\\hline + 1000 & 0.24s & 0.24ms & 16s & 16ms & 5.2s & 5.2ms \\\hline \end{tabular} \caption{The results of the Single Listener performance tests with 2 significant digits.} \end{table} \begin{figure}[H] \centering - \includegraphics[width=0.8\textwidth]{src/performance_results/laptop_single_listener.png} + \includegraphics[width=\textwidth]{src/performance_results/single_listener.png} \caption{The results of the Single Listener performance test plotted logarithmically.} \end{figure} - Upon examination of the results, an pattern emerges. The minimum recorded response times consistently averaged around 0.5ms per event, regardless of the number of events sent. This time likely reflects an ideal scenario where events are registered seamlessly without any delays or issues within the pipeline, thereby showcasing the efficiency potential of the network event triggers in the MEOW system. + Upon examination of the results, an pattern emerges. The minimum recorded response times consistently averaged around 0.5ms per event for the laptop and 0.3ms per event for the desktop, regardless of the number of events sent. This time likely reflects an ideal scenario where events are registered seamlessly without any delays or issues within the pipeline, thereby showcasing the efficiency potential of the network event triggers in the MEOW system. In contrast, the maximum and average response times exhibited more variability. This fluctuation in response times may be attributed to various factors such as network latency, the internal processing load of the system, and the inherent unpredictability of concurrent event handling. @@ -338,24 +338,24 @@ \centering \begin{tabular}{|p{1.5cm}||P{2.5cm}|P{2.5cm}|P{2.5cm}|} \hline - \textbf{Listener} & \textbf{Minimum time} & \textbf{Maximum time} & \textbf{Average time} \\ \hline + \textbf{Listener} & \textbf{Minimum time} & \textbf{Maximum time} & \textbf{Average time} \\ \hline\hline \multicolumn{4}{|c|}{\textbf{Laptop}} \\ \hline 1 & 0.63s & 17s & 5.6s \\\hline 10 & 0.46s & 25s & 7.6s \\\hline 100 & 0.42s & 20s & 7.1s \\\hline - 1000 & 0.92s & 3.24s & 1.49s \\\hline + 1000 & 0.92s & 3.24s & 1.49s \\\hline\hline \multicolumn{4}{|c|}{\textbf{Desktop}} \\ \hline - 1 & & & \\\hline - 10 & & & \\\hline - 100 & & & \\\hline - 1000 & & & \\\hline + 1 & 0.24s & 16s & 5.2s \\\hline + 10 & 0.24s & 19s & 4.0s \\\hline + 100 & 0.25s & 10s & 1.0s \\\hline + 1000 & 0.38s & 0.42s & 0.40s \\\hline \end{tabular} \caption{The results of the Multiple Listeners performance tests with 2 significant digits.} \end{table} \begin{figure}[H] \centering - \includegraphics[width=0.8\textwidth]{src/performance_results/laptop_multiple_listeners.png} + \includegraphics[width=\textwidth]{src/performance_results/multiple_listeners.png} \caption{The results of the Multiple Listeners performance test plotted logarithmically.} \end{figure} diff --git a/src/make_graphs.py b/src/make_graphs.py index 411efda..d305b2b 100644 --- a/src/make_graphs.py +++ b/src/make_graphs.py @@ -1,49 +1,105 @@ import matplotlib.pyplot as plt -def laptop_single_listener(): - plt.figure() +plt.rcParams.update({'font.size':22}) + +def single_listener(): + fig, (ax1,ax2) = plt.subplots(1,2) + x = [1,10,100,1000] - y1 = [0.00068,0.0047,0.045,00.63] - y2 = [0.00530,2.1000,7.200,17.00] - y3 = [0.00210,0.1800,0.860,05.60] - plt.plot(x, y2, label="Maximum") - plt.plot(x, y3, label="Average") - plt.plot(x, y1, label="Minimum") + y11 = [0.00068,0.0047,0.045,00.63] + y12 = [0.00530,2.1000,7.200,17.00] + y13 = [0.00210,0.1800,0.860,05.60] - plt.legend() - plt.grid() + ax1.plot(x, y12, label="Maximum", linewidth=5) + ax1.plot(x, y13, label="Average", linewidth=5) + ax1.plot(x, y11, label="Minimum", linewidth=5) - plt.xlabel("Event count") - plt.ylabel("Time (Laptop)") + ax1.legend() + ax1.grid(linewidth=2) + ax1.set_title("Laptop") - plt.xscale("log") - plt.yscale("log") + ax1.set_xlabel("Event count") + ax1.set_ylabel("Time") - plt.savefig("performance_results/laptop_single_listener.png") + ax1.set_xscale("log") + ax1.set_yscale("log") + + ### + + y21 = [0.0004,0.003,0.025,00.24] + y22 = [0.0022,1.000,2.200,16.00] + y23 = [0.0016,0.056,0.440,05.20] + + ax2.plot(x, y22, label="Maximum", linewidth=5) + ax2.plot(x, y23, label="Average", linewidth=5) + ax2.plot(x, y21, label="Minimum", linewidth=5) + + ax2.legend() + ax2.grid(linewidth=2) + ax2.set_title("Desktop") + + ax2.set_xlabel("Event count") + ax2.set_ylabel("Time") + + ax2.set_xscale("log") + ax2.set_yscale("log") + + fig.set_figheight(12) + fig.set_figwidth(25) + fig.set_dpi(100) + + fig.savefig("performance_results/single_listener.png") + +def multiple_listeners(): + fig, (ax1,ax2) = plt.subplots(1,2) -def laptop_multiple_listeners(): - plt.figure() x = [1,10,100,1000] - y1 = [00.63,00.46,00.42,00.92] - y2 = [17.00,25.00,20.00,03.24] - y3 = [05.60,07.60,07.10,01.49] - plt.plot(x, y2, label="Maximum") - plt.plot(x, y3, label="Average") - plt.plot(x, y1, label="Minimum") + y11 = [00.63,00.46,00.42,00.92] + y12 = [17.00,25.00,20.00,03.24] + y13 = [05.60,07.60,07.10,01.49] - plt.legend() - plt.grid() + ax1.plot(x, y12, label="Maximum", linewidth=5) + ax1.plot(x, y13, label="Average", linewidth=5) + ax1.plot(x, y11, label="Minimum", linewidth=5) - plt.xlabel("Listener count") - plt.ylabel("Time (Laptop)") + ax1.legend() + ax1.grid(linewidth=2) + ax1.set_title("Laptop") - plt.xscale("log") - plt.yscale("log") + ax1.set_xlabel("Listener count") + ax1.set_ylabel("Time") - plt.savefig("performance_results/laptop_multiple_listeners.png") + ax1.set_xscale("log") + ax1.set_yscale("log") + + ### + + y21 = [00.24,00.24,00.25,0.38] + y22 = [16.00,19.00,10.00,0.42] + y23 = [05.20,04.00,01.00,0.4] + + ax2.plot(x, y12, label="Maximum", linewidth=5) + ax2.plot(x, y13, label="Average", linewidth=5) + ax2.plot(x, y11, label="Minimum", linewidth=5) + + ax2.legend() + ax2.grid(linewidth=2) + ax2.set_title("Desktop") + + ax2.set_xlabel("Listener count") + ax2.set_ylabel("Time") + + ax2.set_xscale("log") + ax2.set_yscale("log") + + fig.set_figheight(12) + fig.set_figwidth(25) + fig.set_dpi(100) + + fig.savefig("performance_results/multiple_listeners.png") if __name__ == "__main__": - laptop_single_listener() - laptop_multiple_listeners() + single_listener() + multiple_listeners() diff --git a/src/performance_results/laptop_multiple_listeners.png b/src/performance_results/laptop_multiple_listeners.png deleted file mode 100644 index 429d8f4..0000000 Binary files a/src/performance_results/laptop_multiple_listeners.png and /dev/null differ diff --git a/src/performance_results/laptop_single_listener.png b/src/performance_results/laptop_single_listener.png deleted file mode 100644 index ce30670..0000000 Binary files a/src/performance_results/laptop_single_listener.png and /dev/null differ diff --git a/src/performance_results/multiple_listeners.png b/src/performance_results/multiple_listeners.png new file mode 100644 index 0000000..3ec4b9d Binary files /dev/null and b/src/performance_results/multiple_listeners.png differ diff --git a/src/performance_results/single_listener.png b/src/performance_results/single_listener.png new file mode 100644 index 0000000..d25c9fb Binary files /dev/null and b/src/performance_results/single_listener.png differ