1 \section*{Additional Figures}
3 \subsection*{Language Speed}
7 \includegraphics[width=0.8\textwidth]{figures/thread_performance.png}
8 \caption{Comparison of a minimal test program to compare best case thread sample rates in C and Python; each point is an average over 50000 samples. Note that both trends are linear, but a logarithmic scale had to be used to compare the datasets on the same graph.}
9 \label{thread_performance.png}
15 \includegraphics[width=0.8\textwidth]{figures/thread_deviation.png}
16 \caption{The standard deviations of the distributions in Figure \ref{thread_performance.png}. It should be noted that the distributions are not gaussian.}
22 \subsection*{Data storage Efficiency}
26 \includegraphics[width=0.8\textwidth]{figures/data_storespeed.png}
27 \caption{Efficiency of different data storage methods. Although a data base provides many advanced features, it was realised that these features were not really needed for storing time ordered sensor data.}
30 \subsection*{Sampling Rates}
34 \includegraphics[width=0.8\textwidth]{figures/adc_histogram.png}
35 \caption{Same graph as Figure \ref{sample_rate_histogram.png} but zoomed in to highlight the distribution obtained with \funct{ADC_Read} is called.}
41 \includegraphics[width=0.8\textwidth]{figures/rt_vs_normal_3-2-0-4-amd64_1e-6s.png}
42 \caption{Distributions (nanosecond timestamp resolution) for Real Time Linux kernel (\textcolor{green}{green}) and ``Vanilla'' Linux kernel (\textcolor{red}{red}) running on an i5 laptop with the sample rate set to 1$\mu\text{s}$}
48 \includegraphics[width=0.8\textwidth]{figures/rt_vs_normal_3-2-0-4-amd64_1e-4s.png}
49 \caption{As above but with a 100$\mu\text{s}$ sample rate}