Changeset 1e110bf for doc/theses/mike_brooks_MMath/string.tex
- Timestamp:
- Jul 8, 2024, 9:00:23 AM (4 months ago)
- Branches:
- master
- Children:
- 5a553e2
- Parents:
- f06ba98
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/string.tex
rf06ba98 r1e110bf 3 3 \section{String} 4 4 5 \subsection{Logical Overlap}5 \subsection{Logical overlap} 6 6 7 7 \input{sharing-demo.tex} … … 38 38 39 39 40 \subsection{Memory Management}40 \subsection{Memory management} 41 41 42 42 A centrepriece of the string module is its memory manager. The managment scheme defines a large shared buffer for strings' text. Allocation in this buffer is always bump-pointer; the buffer is compacted and/or relocated with growth when it fills. A string is a smart pointer into this buffer. … … 80 80 81 81 82 \subsection{Avoiding Implicit Sharing}82 \subsection{Avoiding implicit sharing} 83 83 84 84 There are tradeoffs associated with the copy-on-write mechanism. Several quatitative matters are detailed in the [xref: Performance Assessment] section and the qualitiative issue of multi-threaded support is introduced here. The \CFA sting library provides a switch to disable the sharing mechanism for situtations where it is inappropriate. … … 98 98 99 99 100 \subsection{Future Work}100 \subsection{Future work} 101 101 102 102 To discuss: Unicode … … 105 105 106 106 107 \subsection{Performance Assessment}107 \subsection{Performance assessment} 108 108 109 109 I assessed the CFA string library's speed and memory usage. I present these results ineven quivalent cases, due to either micro-optimizations foregone, or fundamental costs of the added functionality. They also show the benefits and tradeoffs, as >100\% effects, of switching to CFA, with the tradeoff points quantified. The final test shows the overall win of the CFA text-sharing mechanism. It exercises several operations together, showing CFA enabling clean user code to achieve performance that STL requires less-clean user code to achieve.
Note: See TracChangeset
for help on using the changeset viewer.