From 4f671b73c1d56c677728811babbfa0c21f759db4 Mon Sep 17 00:00:00 2001
From: Aria Shrimpton <me@aria.rip>
Date: Wed, 31 Jan 2024 14:32:02 +0000
Subject: more writing

---
 thesis/parts/implementation.tex | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

(limited to 'thesis/parts/implementation.tex')

diff --git a/thesis/parts/implementation.tex b/thesis/parts/implementation.tex
index 0482ef7..43ed2ba 100644
--- a/thesis/parts/implementation.tex
+++ b/thesis/parts/implementation.tex
@@ -2,12 +2,23 @@
 
 \todo{Primrose adaptations}
 
-\section{Cargo integration}
+\section{Tooling integration}
 
 As well as a standalone compiler, the Rust toolchain provides an official package manager, which is widely adopted.
-We interface with cargo through the \code{cargo metadata} command, which allows us to minimise the amount of work req
+We interface with cargo through the \code{cargo metadata} command, which allows us to work seamlessly with virtually any Rust project.
+
+From cargo, we retrieve information about the user's project source directories, the available benchmarks and tests, and the location of the build cache.
+
+\section{Cost model generation}
+
+Generation of cost models is implemented in three locations:
+
+\begin{itemize}
+\item The \code{candelabra_benchmarker} crate, which provides code for benchmarking anything that implements the primrose library's traits
+\item The \code{candelabra::cost::benchmark} module, which generates, runs, and parses benchmarks for container types in the primrose library
+\item The \code{candelabra::cost::fit} module, which fits a linear regression model to a set of observations and allows for
+\end{itemize}
 
-\todo{Automatic benchmarking}
 \todo{Fitting of cost models}
 \todo{Profiling wrapper}
 \todo{Selection and comparison code}
-- 
cgit v1.2.3

