Ignore:
Timestamp:
Jul 10, 2024, 3:39:37 AM (19 months ago)
Author:
JiadaL <j82liang@…>
Branches:
master
Children:
725f777f
Parents:
bb336a6 (diff), f3811df (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mike_brooks_MMath/string.tex

    rbb336a6 rdbff8ec  
    33\section{String}
    44
    5 \subsection{Logical Overlap}
     5\subsection{Logical overlap}
    66
    77\input{sharing-demo.tex}
     
    3838
    3939
    40 \subsection{Memory Management}
     40\subsection{Memory management}
    4141
    4242A 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.
     
    8080
    8181
    82 \subsection{Avoiding Implicit Sharing}
     82\subsection{Avoiding implicit sharing}
    8383
    8484There 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.
     
    9898
    9999
    100 \subsection{Future Work}
     100\subsection{Future work}
    101101
    102102To discuss: Unicode
     
    105105
    106106
    107 \subsection{Performance Assessment}
     107\subsection{Performance assessment}
    108108
    109109I 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.