diff options
Diffstat (limited to 'thesis/parts')
-rw-r--r-- | thesis/parts/implementation.tex | 2 | ||||
-rw-r--r-- | thesis/parts/results.tex | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/thesis/parts/implementation.tex b/thesis/parts/implementation.tex index bba1a3f..478280c 100644 --- a/thesis/parts/implementation.tex +++ b/thesis/parts/implementation.tex @@ -58,7 +58,7 @@ Among other things, this allows us to use for loops, and to more easily move dat \section{Building cost models} %% Benchmarker crate -In order to benchmark container types, we use a seperate crate (\code{src/crates/benchmarker}) containing benchmarking code for each trait in the Primrose library. +In order to benchmark container types, we use a seperate crate containing benchmarking code for each trait in the Primrose library (\code{src/crates/benchmarker}). When benchmarks need to be run for an implementation, we dynamically generate a new crate, which runs all benchmark methods appropriate for the given implementation (\code{src/crate/candelabra/src/cost/benchmark.rs}). As Rust's generics are monomorphised, our generic code is compiled as if we were using the concrete type in our code, so we don't need to worry about affecting the benchmark results. diff --git a/thesis/parts/results.tex b/thesis/parts/results.tex index cc66073..76247a4 100644 --- a/thesis/parts/results.tex +++ b/thesis/parts/results.tex @@ -213,7 +213,7 @@ In all but two of our test cases (marked with *), we correctly identify the best \label{table:predicted_actual} \end{table} -Both of these failures appear to be caused by being overly eager to suggest a \code{LinkedList}. +Both of these failures appear to be caused by our system being overly eager to suggest a \code{LinkedList}. From looking at detailed profiling information, it seems that both of these container types had a relatively small amount of items in them. Therefore this is likely caused by our cost models being inaccurate at small $n$ values, as mentioned in section \ref{section:cm_small_n}. |