aboutsummaryrefslogtreecommitdiff
path: root/thesis/parts/introduction.tex
diff options
context:
space:
mode:
Diffstat (limited to 'thesis/parts/introduction.tex')
-rw-r--r--thesis/parts/introduction.tex13
1 files changed, 6 insertions, 7 deletions
diff --git a/thesis/parts/introduction.tex b/thesis/parts/introduction.tex
index 068b1a5..aae5474 100644
--- a/thesis/parts/introduction.tex
+++ b/thesis/parts/introduction.tex
@@ -7,7 +7,7 @@ A common requirement when programming is the need to keep a collection of data t
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.
+However, implementing these collection types manually is usually a waste of time, as is fine-tuning a custom implementation to perform better.
Most programmers will simply use one or two collection types provided by their language.
%% **** Large difference in performance
@@ -16,18 +16,17 @@ The underlying implementation of container types which function the same can hav
%% *** 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.
-From our testing, we are able to select the best performing containers for a program, in significantly less time than brute force.
+In our testing, we are able to accurately select the best performing containers for a program in significantly less time than brute force.
%% *** Overview of aims & approach
%% **** Ease of adding new container types
-We have designed our system with flexibility in mind --- adding new container implementations requires little effort.
+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
-Our system is also able to suggest adaptive containers --- containers which switch underlying implementation as they grow.
-
-%% *** Overview of results
-\todo{Overview of results}
+Our system is also able to suggest adaptive containers: containers which switch underlying implementation as they grow.
+%% **** Overview of results
+Whilst we saw reasonable suggestions in our test cases, we found the overhead of switching and of checking the current implementation to be more of a problem than expected, which future work could improve on.