diff options
author | Aria Shrimpton <me@aria.rip> | 2024-03-29 22:48:35 +0000 |
---|---|---|
committer | Aria Shrimpton <me@aria.rip> | 2024-03-29 22:48:35 +0000 |
commit | f42920a7f26e156dfaa28fc80d57769a098a32ad (patch) | |
tree | 0d165715504cb78c5a973f7e07d722b8d884133d /thesis/parts | |
parent | e091c37926281dbd5bf58b249d2d8d1b370897f2 (diff) |
abstract
Diffstat (limited to 'thesis/parts')
-rw-r--r-- | thesis/parts/abstract.tex | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/thesis/parts/abstract.tex b/thesis/parts/abstract.tex index fddefee..9f65c30 100644 --- a/thesis/parts/abstract.tex +++ b/thesis/parts/abstract.tex @@ -1 +1,14 @@ -\todo{Abstract} +Almost every program makes extensive use of container data structures -- structures that hold a collection of values together. +Despite many programming languages offering a variety of data structures, most programmers stick to one or two, potentially leaving large performance improvements on the table. + +We present Candelabra, a system for selecting the best implementation of a container type based on an individual program's requirements. +Using the DSL proposed in \cite{qin_primrose_2023}, developers can specify the way a container must behave and what operations it must be able to perform. +Once they have done this, we are able to select implementations that meet those requirements, and suggest which will be the fastest based on the usage patterns of the user's program. + +Our system is designed with flexibility in mind, meaning it is easy to add new container implementations, and operations. +It is also able to scale up to larger programs, without suffering the exponential blowup in time taken that would happen with a brute-force approach. + +Our approach is able to suggest the fastest implementation in most of our tests, although further testing is required on a wider range of workloads. + +We also investigate the feasibility of adaptive containers, which switch implementation once the size reaches a certain threshold. +In doing so, we identify several key concerns that future work could address. |