diff options
author | Aria Shrimpton <me@aria.rip> | 2024-03-19 23:45:14 +0000 |
---|---|---|
committer | Aria Shrimpton <me@aria.rip> | 2024-03-19 23:45:14 +0000 |
commit | db7c7a0bb4b96635737c4351d641aa87318865bf (patch) | |
tree | 4ab058c62a5537fffff5225323516f0bf2f1c457 /thesis/parts/design.tex | |
parent | 4f34dc852c94f36e972799cfe87257ed547af906 (diff) |
improve citation style & bibliography
Diffstat (limited to 'thesis/parts/design.tex')
-rw-r--r-- | thesis/parts/design.tex | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/thesis/parts/design.tex b/thesis/parts/design.tex index 18efa9c..6d9c482 100644 --- a/thesis/parts/design.tex +++ b/thesis/parts/design.tex @@ -87,7 +87,7 @@ We now go into more detail on how each step works, although we leave some specif %% Explain role in entire process As described in Chapter \ref{chap:background}, any implementation we pick must satisfy the program's functional requirements. -To do this, we integrate Primrose \parencite{qin_primrose_2023} as a first step. +To do this, we integrate Primrose \citep{qin_primrose_2023} as a first step. Primrose allows users to specify both the traits they require in an implementation (essentially the API and methods available), and what properties must be satisfied. @@ -126,7 +126,7 @@ Although we use primrose in our implementation, the rest of our system isn't dep \section{Cost Models} Now that we have a list of possible implementations, we need to understand the performance characteristics of each of them. -We use an approach similar to CollectionSwitch\parencite{costa_collectionswitch_2018}, which assumes that the main factor in how long an operation takes is the current size of the collection. +We use an approach similar to CollectionSwitch\citep{costa_collectionswitch_2018}, which assumes that the main factor in how long an operation takes is the current size of the collection. %% Benchmarks An implementation has a seperate cost model for each operation, which we obtain by executing the operation repeatedly on collections of various sizes. @@ -199,7 +199,7 @@ But when the size of the container grows, the cost of doing \code{contains} may Adaptive containers attempt to address this need, by starting off with one implementation (the low or before implementation), and switching to a new implemenation (the high or after implementation) once the size of the container passes a certain threshold. -This is similar to systems such as CoCo\parencite{hutchison_coco_2013} and in work by \"{O}sterlund\parencite{osterlund_dynamically_2013}. +This is similar to systems such as CoCo\citep{hutchison_coco_2013} and in work by \"{O}sterlund\citep{osterlund_dynamically_2013}. However, we decide when to switch container implementation before the program is run, rather than as it is running. We also do so in a way that requires no knowledge of the implementation internals. |