Changeset 1e110bf


Ignore:
Timestamp:
Jul 8, 2024, 9:00:23 AM (3 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
5a553e2
Parents:
f06ba98
Message:

harmonize format of section titles

Location:
doc/theses/mike_brooks_MMath
Files:
4 edited

Legend:

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

    rf06ba98 r1e110bf  
    6767
    6868
    69 \section{Reading Declarations}
     69\section{Reading declarations}
    7070
    7171A significant area of confusion for reading C declarations results from embedding a declared variable in a declaration, mimicking the way the variable is used in executable statements.
     
    316316
    317317
    318 \subsection{Multi-Dimensional}
     318\subsection{Multi-dimensional}
    319319
    320320As in the last section, multi-dimensional array declarations are examined.
     
    414414
    415415
    416 \subsection{Design Issues}
     416\subsection{Design issues}
    417417\label{toc:lst:issue}
    418418
     
    432432
    433433
    434 \subsection{Preexisting Linked-List Libraries}
     434\subsection{Preexisting linked-list libraries}
    435435
    436436Two preexisting linked-list libraries are used throughout, to show examples of the concepts being defined,
     
    445445
    446446
    447 \subsection{Link attachment: Intrusive vs.\ Wrapped}
     447\subsection{Link attachment: intrusive vs.\ wrapped}
    448448\label{toc:lst:issue:attach}
    449449
     
    604604
    605605
    606 \subsection{Simultaneity: Single vs.\ Multi-Static vs.\ Dynamic}
     606\subsection{Simultaneity: single vs.\ multi-static vs.\ dynamic}
    607607\label{toc:lst:issue:simultaneity}
    608608
     
    729729
    730730
    731 \subsection{User integration: Preprocessed vs.\ Type-System Mediated}
     731\subsection{User integration: preprocessed vs.\ type-system mediated}
    732732
    733733% example of poor error message due to LQ's preprocessed integration
     
    739739
    740740
    741 \subsection{List identity: Headed vs.\ Ad-hoc}
     741\subsection{List identity: headed vs.\ ad-hoc}
    742742\label{toc:lst:issue:ident}
    743743
     
    788788
    789789
    790 \subsection{End treatment: Cased vs.\ Uniform }
     790\subsection{End treatment: cased vs.\ uniform }
    791791
    792792This issue is implementation-level, relevant to achieving high performance.
  • doc/theses/mike_brooks_MMath/conclusion.tex

    rf06ba98 r1e110bf  
    77\section{Strings}
    88
    9 \section{Future Work}
     9\section{Future work}
  • doc/theses/mike_brooks_MMath/intro.tex

    rf06ba98 r1e110bf  
    1616
    1717
    18 \section{Linked List}
     18\section{Linked list}
    1919
    2020A linked-list provides a homogeneous container often with $O(log N)$/$O(N)$ access to elements using successor and predecessor operations.
     
    5959
    6060
    61 \subsection{Ill-Typed Expressions}
     61\subsection{Ill-typed expressions}
    6262
    6363C reports many ill-typed expressions as warnings.
     
    9595\section{Contributions}
    9696
    97 \subsection{Linked List}
     97\subsection{Linked list}
    9898
    9999\subsection{Array}
  • doc/theses/mike_brooks_MMath/string.tex

    rf06ba98 r1e110bf  
    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.