#+TITLE: Tasks #+TODO: TODO(t) DOING(w) | DONE(d) BLOCKED(b) CANCELED(c) #+FILETAGS: :@school: * Writing ** TODO Abstract ** TODO Introduction *** DONE Introduce problem **** DONE Container types common in programs **** DONE Functionally identical implementations **** DONE Large difference in performance *** DONE Motivate w/ effectiveness claims *** DONE Overview of aims & approach **** DONE Scalability to larger projects **** DONE Ease of integration into existing projects **** DONE Ease of adding new container types **** DONE Flexibility of selection *** TODO Overview of results ** DONE Background *** DONE Introduce problem *** DONE Functional vs non-functional requirements *** DONE Existing approaches & their shortfalls *** DONE Lead to next chapter ** DONE Design *** DONE Usage Example *** DONE Primrose Integration **** DONE Explain role in entire process **** DONE Short explanation of selection method **** DONE Abstraction over backend *** DONE Building cost models **** DONE Benchmarks **** DONE Linear Regression **** DONE Limitations *** DONE Profiling applications **** DONE Data collected **** DONE Segmentation *** DONE Selection process & adaptive containers **** DONE Selection process **** DONE Adaptive container detection ** DONE Implementation *** DONE Modifications to Primrose **** DONE API **** DONE Mapping trait **** DONE Resiliency, etc *** DONE Cost models **** DONE Benchmarker crate **** DONE Code generation **** DONE Chosen benchmarks **** DONE Fitting *** DONE Profiling wrapper **** DONE Use of Drop **** DONE Generics and stuff *** DONE Selection / Codegen **** DONE Selection Algorithm incl Adaptive **** DONE Implementation w/ const generics **** DONE Generated code (opaque types) ** DONE Results & Analysis *** DONE Testing setup, benchmarking rationale **** DONE Specs and VM setup **** DONE Reproducibility *** DONE Cost model analysis **** DONE Insertion operations **** DONE Contains operations **** DONE Comment on some bad/weird ones **** DONE Conclusion *** DONE Predictions **** DONE Chosen benchmarks **** DONE Effect of selection on benchmarks (spread in execution time) **** DONE Summarise predicted versus actual **** DONE Evaluate performance **** DONE Comment on distribution of best implementation **** DONE Surprising ones / Explain failures *** DONE Performance of adaptive containers **** DONE Find where adaptive containers get suggested **** DONE Comment on relative performance speedup **** DONE Suggest future improvements? ** TODO Conclusion