From 43cd2c2362b123de24b4381d1fa46acaeb602c18 Mon Sep 17 00:00:00 2001 From: Aria Shrimpton Date: Sun, 10 Mar 2024 13:53:12 +0000 Subject: [PATCH] rest of cost model section --- Tasks.org | 6 ++-- thesis/assets/contains_lists.png | Bin 0 -> 48826 bytes thesis/assets/contains_mappings.png | Bin 0 -> 44336 bytes thesis/assets/contains_sets.png | Bin 0 -> 61911 bytes thesis/main.tex | 1 + thesis/parts/introduction.tex | 24 +++++++------ thesis/parts/results.tex | 52 +++++++++++++++++++++++++++- 7 files changed, 68 insertions(+), 15 deletions(-) create mode 100644 thesis/assets/contains_lists.png create mode 100644 thesis/assets/contains_mappings.png create mode 100644 thesis/assets/contains_sets.png diff --git a/Tasks.org b/Tasks.org index 08ea69e..579020e 100644 --- a/Tasks.org +++ b/Tasks.org @@ -276,11 +276,11 @@ Ideas: **** DONE Insertion operations -**** TODO Contains operations +**** DONE Contains operations -**** TODO Comment on some bad/weird ones +**** DONE Comment on some bad/weird ones -**** TODO Conclusion +**** DONE Conclusion *** TODO Predictions diff --git a/thesis/assets/contains_lists.png b/thesis/assets/contains_lists.png new file mode 100644 index 0000000000000000000000000000000000000000..238ac7fd53ebbd59b401ec77dd18223ddc437307 GIT binary patch literal 48826 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 literal 0 HcmV?d00001 diff --git a/thesis/assets/contains_mappings.png b/thesis/assets/contains_mappings.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1183f9c28aa8f3000b69df0fec0e12e1b90385 GIT binary patch literal 44336 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 literal 0 HcmV?d00001 diff --git a/thesis/assets/contains_sets.png b/thesis/assets/contains_sets.png new file mode 100644 index 0000000000000000000000000000000000000000..00214ff78f4054c49bb9dafcf8b2c83d05917b2b GIT binary patch literal 61911 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
Kae?A=M`txFH1FO}R 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 literal 0 HcmV?d00001 diff --git a/thesis/main.tex b/thesis/main.tex index d40e196..2c2ed90 100644 --- a/thesis/main.tex +++ b/thesis/main.tex @@ -6,6 +6,7 @@ \usepackage[dvipsnames]{xcolor} \usepackage{graphicx} +\usepackage{amsmath} \usepackage{microtype} \usepackage[style=numeric]{biblatex} diff --git a/thesis/parts/introduction.tex b/thesis/parts/introduction.tex index 452a6d8..6886f35 100644 --- a/thesis/parts/introduction.tex +++ b/thesis/parts/introduction.tex @@ -3,28 +3,30 @@ %% **** Container types common in programs -The vast majority of programs will make extensive use of collection data types --- types intended to hold multiple instances of other types. -This allows programmers to use things like growable lists, sets, or trees without worrying about implementing them themselves. +A common requirement when programming is the need to keep a collection of data together, for example in a list. +Often, programmers will have some requirements they want to impose on this collection, such as not storing duplicate elements, or storing the items in sorted order. %% **** Functionally identical implementations +However, implementing these collection types manually is usually a waste of time, as is fine-tuning their implementation to perform better. +Most programmers will simply use one or two collection types provided by their language. -However, this still leaves the problem of selecting the ``best'' underlying implementation. -Most programmers will simply stick with the same one every time, with some languages like Python even building in a single implementation for everyone. %% **** Large difference in performance -While this is simplest, it can have a drastic effect on performance in many cases (\cite{l_liu_perflint_2009}, \cite{jung_brainy_2011}). +Often, this is not the best choice. +The underlying implementation of container types which function the same can have a drastic effect on performance (\cite{l_liu_perflint_2009}, \cite{jung_brainy_2011}). %% *** Motivate w/ effectiveness claims +We propose a system, Candelabra, for the automatic selection of container implementations, based on both user-specified requirements and inferred requirements for performance. %% *** Overview of aims & approach - -We propose a system for the automatic selection of container implementations, based on both user-specified requirements and inferred requirements for performance. -%% **** Scalability to larger projects -%% **** Ease of integration into existing projects %% **** Ease of adding new container types -Our system is built to be scalable, both in the sense that it can be applied to large projects, and that new container types can be added with ease. +We have designed our system with flexibility in mind --- adding new container implementations requires little effort. +%% **** Ease of integration into existing projects +It is easy to adopt our system incrementally, and we integrate with existing tools to making doing so easy. +%% **** Scalability to larger projects +The time it takes to select containers scales roughly linearly, even in complex cases, allowing our tool to be used even on larger projects. %% **** Flexibility of selection -We are also able to detect some cases where the optimal container type varies at runtime, and supply containers which start off as one implementation, and move to another when it is more optimal to do so. +Our system is also able to suggest adaptive containers --- containers which switch underlying implementation as they grow. %% *** Overview of results \todo{Overview of results} diff --git a/thesis/parts/results.tex b/thesis/parts/results.tex index 896fa9d..2e2373a 100644 --- a/thesis/parts/results.tex +++ b/thesis/parts/results.tex @@ -58,11 +58,61 @@ This could explain why we see a roughly linear growth. \subsection{Contains operations} We now examine the cost of the \code{contains} operation. +Figure \ref{fig:cm_contains} shows our built cost models. +These are grouped for readability, with the first graph showing sets and sorted lists, the second showing sets and sorted lists, and the third showing key-value mappings. -\subsection{Outliers / errors} +Notably, the observations in these graphs have a much wider spread than our \code{insert} operations do. +This is probably because we attempt to get a different random element in our container every time, so our observations show the best and worst case of our data structures. +This is desirable assuming that \code{contains} operations are actually randomly distributed in the real world, which seems likely. + +\begin{figure}[h] + \centering + \includegraphics[width=10cm]{assets/contains_lists.png} + \par\centering\rule{11cm}{0.5pt} + \includegraphics[width=10cm]{assets/contains_sets.png} + \par\centering\rule{11cm}{0.5pt} + \includegraphics[width=10cm]{assets/contains_mappings.png} + \caption{Estimated cost of \code{contains} operation on lists, sets/sorted lists, and \code{Mapping}s} + \label{fig:cm_contains} +\end{figure} + +Both \code{LinkedList} and \code{Vec} implementations have roughly linear growth, which makes sense as these are not kept ordered. +\code{LinkedList} has a significantly higher cost at all points, and a wider spread of outliers. +This makes sense as each item in a linked list is not guaranteed to be in the same place in memory, so traversing them is likely to be more expensive, making the best and worst cases further apart. +Some of the spread could also be explained by heap allocations being put in different locations in memory, with less or more locality between each run. + +\code{SortedVec} and \code{SortedUniqueVec} both exhibit a wide spread of observations, with what looks like a roughly linear growth. +Looking at the raw output, we find the following equations being used for each cost model: + +\begin{align*} +C(n) &\approx 22.8 + 4.6\log_2 n + 0.003n - (1 * 10^{-9}) * n^2 & \textrm{SortedVec} \\ +C(n) &\approx -5.9 + 8.8\log_2 n - (4 * 10^{-5}) n - (3 * 10^{-8}) * n^2 & \textrm{SortedUniqueVec} +\end{align*} + +As both of these implementations use a binary search for \code{contains}, the dominating logarithmic factors are expected. +\code{SortedUniqueVec} likely has a larger $n^2$ coefficient due to more collisions happening at larger container sizes. +\todo{elaborate: we insert that many random items, but some may be duplicates} + +\code{HashSet} appears roughly linear as expected, with only a slow logarithmic rise, probably due to collisions. +\code{BTreeSet} is consistently above it, with a slightly higher logarithmic rise. + +\code{BTreeMap} and \code{HashMap} both mimic their set counterparts, though are more expensive in most places. +This is probably due to the increased size more quickly exhausting CPU cache. \subsection{Evaluation} +In the cost models we examined, we found that most were in line with our expectations. + +Although we will not examine them in detail, we briefly describe observations from the rest of the built cost models: + +\begin{enumerate} +\item Our models for \code{push} and \code{pop} operations are pretty much the same as for \code{insert} operations, as they are the same inner implementation. +\item \code{first}, \code{last}, and \code{nth} operations show the time complexity we expect. However, some overfitting appears to occur, meaning our cost models may not generalise as well outside of the range of n values they were benchmarked with. +\end{enumerate} + +Overall, our cost models appear to be a good representation of each implementations performance impact. +Future improvements could address the overfitting problems some operations had, either by pre-processing the data to detect and remove outliers, or by employing a more complex fitting procedure. + %% * Predictions \section{Selections} -- 2.51.2