Index: doc/theses/mike_brooks_MMath/Makefile
===================================================================
--- doc/theses/mike_brooks_MMath/Makefile	(revision bb85f76e4bf03cffc64cedb32641bd9266b950d0)
+++ doc/theses/mike_brooks_MMath/Makefile	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -9,5 +9,8 @@
 
 TeXSRC = ${wildcard *.tex}
-PicSRC = ${notdir ${wildcard ${Pictures}/*.png}}
+PicSRC = ${notdir ${wildcard ${Pictures}/*.png}} ${notdir ${wildcard ${Pictures}/*.fig}}
+PicSRC := ${PicSRC:.fig=.pdf}		# substitute ".fig" with ".pdf"
+GraphSRC = ${notdir ${wildcard ${Pictures}/*.dat}}
+GraphSRC := ${GraphSRC:.dat=.pdf}		# substitute ".dat" with ".pdf"
 DemoPgmSRC = ${notdir ${wildcard ${Programs}/*-demo.cfa}}
 PgmSRC = ${notdir ${wildcard ${Programs}/*}}
@@ -51,5 +54,7 @@
 # File Dependencies
 
-%.pdf : ${TeXSRC} $(RunPgmOut) ${DemoPgmOut} ${PicSRC} ${BibSRC} ${BibRep}/pl.bib ${LaTMac}/common.tex Makefile | ${Build}
+${DOCUMENT}: ${TeXSRC} $(RunPgmOut) ${DemoPgmOut} ${GraphSRC} ${PicSRC} ${BibSRC} ${BibRep}/pl.bib ${LaTMac}/common.tex Makefile | ${Build}
+	echo ${PicSRC}
+	echo ${GraphSRC}
 	${LaTeX} ${BASE}
 	${BibTeX} ${Build}/${BASE}
@@ -82,3 +87,18 @@
 	$< > $@
 
--include ${Build}/*.d
+string-graph-peq-cppemu.pdf: string-graph-peq-cppemu.dat | ${Build}
+	gnuplot plot-peg-cppemu.gp
+
+string-graph-peq-sharing.pdf: string-graph-peq-sharing.dat | ${Build}
+	gnuplot plot-peg-sharing.gp
+
+string-graph-pta-sharing.pdf: string-graph-pta-sharing.dat | ${Build}
+	gnuplot plot-pta-sharing.gp
+
+string-graph-pbv.pdf: string-graph-pbv.dat | ${Build}
+	gnuplot plot-pbv.gp
+
+%.pdf: %.fig | ${Build}
+	fig2dev -L pdf $< > ${Build}/$@
+
+#-include ${Build}/*.d
Index: c/theses/mike_brooks_MMath/memmgr-basic.fig
===================================================================
--- doc/theses/mike_brooks_MMath/memmgr-basic.fig	(revision bb85f76e4bf03cffc64cedb32641bd9266b950d0)
+++ 	(revision )
@@ -1,84 +1,0 @@
-#FIG 3.2  Produced by xfig version 3.2.7b
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
-	1 1 1.00 45.00 90.00
-	 2700 1500 7125 1500 7125 2175 6750 2175
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
-	1 1 1.00 45.00 90.00
-	 6750 2325 7275 2325 7275 1350 2700 1350
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 2700 2400 2100 3150
-2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 3000 2400 3600 3150
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 6000 2400 6600 3150
-2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 6300 2400 7350 3150
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 1500 1575 1500 2925
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
-	1 1 1.00 45.00 90.00
-	 1350 1575 1350 3750 7500 3750 7800 3450
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
-	1 1 1.00 45.00 90.00
-	 2550 2175 2400 2175 2400 1575
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
-	1 1 1.00 45.00 90.00
-	 2250 1575 2250 2325 2550 2325
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 2550 2100 3450 2100 3450 2400 2550 2400 2550 2100
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 3450 2325 4200 2325
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 4200 2175 3450 2175
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 4200 2100 5100 2100 5100 2400 4200 2400 4200 2100
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 5850 2100 6750 2100 6750 2400 5850 2400 5850 2100
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 5850 2175 5100 2175
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 5100 2325 5850 2325
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 2100 3150 3600 3150 3600 3300 2100 3300 2100 3150
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 6600 3150 7350 3150 7350 3300 6600 3300 6600 3150
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 1200 1275 2700 1275 2700 1575 1200 1575 1200 1275
-2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 1500 3000 8100 3000 8100 3600 1500 3600 1500 3000
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 4350 2400 4350 3150
-2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
-	1 1 1.00 45.00 90.00
-	 4650 2400 5250 3150
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-	 4350 3150 5250 3150 5250 3300 4350 3300 4350 3150
-4 0 0 50 -1 4 11 0.0000 2 135 465 1575 1875 buffer\001
-4 2 0 50 -1 4 11 0.0000 2 135 390 1275 1875 alloc\001
-4 1 0 50 -1 0 12 0.0000 2 180 645 3000 2325 String 1\001
-4 1 0 50 -1 0 12 0.0000 2 180 645 4650 2325 String 2\001
-4 1 0 50 -1 0 12 0.0000 2 180 645 6300 2325 String 3\001
-4 1 0 50 -1 0 12 0.0000 2 180 1005 1950 1500 Heap header\001
-4 0 0 50 -1 0 12 0.0000 2 135 900 1575 3525 Text buffer\001
-4 2 0 50 -1 0 12 0.0000 2 135 360 5775 2100 prev\001
-4 0 0 50 -1 0 12 0.0000 2 120 315 2550 2775 text\001
-4 0 0 50 -1 0 12 0.0000 2 135 675 3375 2775 text+len\001
-4 0 0 50 -1 0 12 0.0000 2 120 360 5175 2475 next\001
Index: doc/theses/mike_brooks_MMath/pictures/memmgr-basic.fig
===================================================================
--- doc/theses/mike_brooks_MMath/pictures/memmgr-basic.fig	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/pictures/memmgr-basic.fig	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,84 @@
+#FIG 3.2  Produced by xfig version 3.2.7b
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
+	1 1 1.00 45.00 90.00
+	 2700 1500 7125 1500 7125 2175 6750 2175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
+	1 1 1.00 45.00 90.00
+	 6750 2325 7275 2325 7275 1350 2700 1350
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2700 2400 2100 3150
+2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3000 2400 3600 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6000 2400 6600 3150
+2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 6300 2400 7350 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 1500 1575 1500 2925
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
+	1 1 1.00 45.00 90.00
+	 1350 1575 1350 3750 7500 3750 7800 3450
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 45.00 90.00
+	 2550 2175 2400 2175 2400 1575
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 45.00 90.00
+	 2250 1575 2250 2325 2550 2325
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2550 2100 3450 2100 3450 2400 2550 2400 2550 2100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3450 2325 4200 2325
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4200 2175 3450 2175
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 4200 2100 5100 2100 5100 2400 4200 2400 4200 2100
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 5850 2100 6750 2100 6750 2400 5850 2400 5850 2100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5850 2175 5100 2175
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 5100 2325 5850 2325
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 2100 3150 3600 3150 3600 3300 2100 3300 2100 3150
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 6600 3150 7350 3150 7350 3300 6600 3300 6600 3150
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 1200 1275 2700 1275 2700 1575 1200 1575 1200 1275
+2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 1500 3000 8100 3000 8100 3600 1500 3600 1500 3000
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4350 2400 4350 3150
+2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 4650 2400 5250 3150
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+	 4350 3150 5250 3150 5250 3300 4350 3300 4350 3150
+4 0 0 50 -1 4 11 0.0000 2 135 465 1575 1875 buffer\001
+4 2 0 50 -1 4 11 0.0000 2 135 390 1275 1875 alloc\001
+4 1 0 50 -1 0 12 0.0000 2 180 645 3000 2325 String 1\001
+4 1 0 50 -1 0 12 0.0000 2 180 645 4650 2325 String 2\001
+4 1 0 50 -1 0 12 0.0000 2 180 645 6300 2325 String 3\001
+4 1 0 50 -1 0 12 0.0000 2 180 1005 1950 1500 Heap header\001
+4 0 0 50 -1 0 12 0.0000 2 135 900 1575 3525 Text buffer\001
+4 2 0 50 -1 0 12 0.0000 2 135 360 5775 2100 prev\001
+4 0 0 50 -1 0 12 0.0000 2 120 315 2550 2775 text\001
+4 0 0 50 -1 0 12 0.0000 2 135 675 3375 2775 text+len\001
+4 0 0 50 -1 0 12 0.0000 2 120 360 5175 2475 next\001
Index: doc/theses/mike_brooks_MMath/pictures/string-graph-pbv.dat
===================================================================
--- doc/theses/mike_brooks_MMath/pictures/string-graph-pbv.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/pictures/string-graph-pbv.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,34 @@
+"cfa-ll-share-na"
+1	17.7		
+2	17.3		
+5	17.1		
+10	17.1		
+20	17.7		
+50	17.6
+100	17.1
+200	17.5
+500	17.4
+
+
+"cfa-ll-noshare-na"
+1	181.9		
+2	181.8		
+5	183.9		
+10	180.3		
+20	185.4		
+50	189.0
+100	193.2
+200	193.3
+500	214.6
+
+
+"stl-na-na-na"
+1	7.9		
+2	12.4		
+5	20.8		
+10	30.1		
+20	51.1		
+50	73.7
+100	78.6
+200	91.3
+500	115.1
Index: doc/theses/mike_brooks_MMath/pictures/string-graph-peq-cppemu.dat
===================================================================
--- doc/theses/mike_brooks_MMath/pictures/string-graph-peq-cppemu.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/pictures/string-graph-peq-cppemu.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,46 @@
+"cfa-ll-noshare-reuse"
+1	16.3
+2	19.2
+5	22.4
+10	22.2
+20	24.6
+50	27.9
+100	36.6
+200	42.2
+500	75.9
+
+
+"cfa-ll-noshare-fresh"
+1	21.4
+2	26.5
+5	29.8
+10	31.3
+20	33.6
+50	41.3
+100	55.3
+200	63.7
+500	117.4
+
+
+"stl-na-na-reuse"
+1	11.6
+2	14.6
+5	20.2
+10	21.6
+20	23.0
+50	26.4
+100	34.9
+200	39.4
+500	73.9
+
+
+"stl-na-na-fresh"
+1	14.4
+2	20.2
+5	25.8
+10	26.7
+20	29.9
+50	37.4
+100	49.3
+200	59.6
+500	114.5
Index: doc/theses/mike_brooks_MMath/pictures/string-graph-peq-sharing.dat
===================================================================
--- doc/theses/mike_brooks_MMath/pictures/string-graph-peq-sharing.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/pictures/string-graph-peq-sharing.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,46 @@
+"cfa-ll-share-reuse"
+1	17.4
+2	21.5
+5	23.2
+10	23.5
+20	26.7
+50	30.9
+100	40.9
+200	50.3
+500	80.5
+
+
+"cfa-ll-share-fresh"
+1	16.3
+2	21.1
+5	23.0
+10	23.1
+20	26.3
+50	30.3
+100	39.9
+200	50.3
+500	79.2
+
+
+"stl-na-na-reuse"
+1	11.6
+2	14.6
+5	20.2
+10	21.6
+20	23.0
+50	26.4
+100	34.9
+200	39.4
+500	73.9
+
+
+"stl-na-na-fresh"
+1	14.4
+2	20.2
+5	25.8
+10	26.7
+20	29.9
+50	37.4
+100	49.3
+200	59.6
+500	114.5
Index: doc/theses/mike_brooks_MMath/pictures/string-graph-pta-sharing.dat
===================================================================
--- doc/theses/mike_brooks_MMath/pictures/string-graph-pta-sharing.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/pictures/string-graph-pta-sharing.dat	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,58 @@
+"perfexp-cfa-peq-ll-share-fresh"
+1	16.3
+2	21.1
+5	23.0
+10	23.1
+20	26.3
+50	30.3
+100	39.9
+200	50.3
+500	79.2
+
+
+"perfexp-cfa-pta-ll-share-fresh"
+1	44.1
+2	49.1
+5	51.0
+10	50.8
+20	53.0
+50	56.6
+100	65.8
+200	77.4
+500	110.7
+
+
+"perfexp-stl-peq-na-na-fresh"
+1	14.4
+2	20.2
+5	25.8
+10	26.7
+20	29.9
+50	37.4
+100	49.3
+200	59.6
+500	114.5
+
+
+"perfexp-stl-peq-na-na-reuse"
+1	11.6
+2	14.6
+5	20.2
+10	21.6
+20	23.0
+50	26.4
+100	34.9
+200	39.4
+500	73.9
+
+
+"perfexp-stl-pta-na-na-fresh"
+1	174.5
+2	189.3
+5	214.9
+10	223.7
+20	292.1
+50	404.7
+100	789.1
+200	1267.1
+500	3643.8
Index: doc/theses/mike_brooks_MMath/plot-pbv.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plot-pbv.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/plot-pbv.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,23 @@
+set terminal pdf color enhanced size 6.0in,3.0in font "Times,17"
+#set terminal postscript portrait enhanced size 7.5, 10. color solid 9.5;
+#set terminal wxt size 950,1250
+
+DIR="pictures"
+
+set macros
+set output "build/string-graph-pbv.pdf"
+#set pointsize 2.0
+set grid
+#set key center left
+set key at screen 0.45, screen 0.8
+set xtics (1,2,5,10,20,50,100,200,500)
+set logscale x
+set logscale y 2
+set xlabel "String Length being passed (interp. varies)" offset 2,0
+set ylabel "Time per append (ns, mean), log_{2} scale"
+set linetype 3 dashtype 2
+set linetype 4 dashtype 2
+plot DIR."/string-graph-pbv.dat" \
+	   i 0 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  2  ps 1 lw 1, \
+	'' i 1 using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  3  ps 1 lw 1, \
+	'' i 2 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  6  ps 1 lw 1
Index: doc/theses/mike_brooks_MMath/plot-peg-cppemu.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plot-peg-cppemu.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/plot-peg-cppemu.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,23 @@
+set terminal pdf color enhanced size 6.0in,3.0in font "Times,17"
+#set terminal postscript portrait enhanced size 7.5, 10. color solid 9.5;
+#set terminal wxt size 950,1250
+
+DIR="pictures"
+
+set macros
+set output "build/string-graph-peq-cppemu.pdf"
+#set pointsize 2.0
+set grid
+set key top left
+set xtics (1,2,5,10,20,50,100,200,500)
+set logscale x
+#set logscale y 2
+set xlabel "String Length being appended (mean, geo. dist.), log scale" offset 2,0
+set ylabel "Time per append (ns, mean)"
+set linetype 3 dashtype 2
+set linetype 4 dashtype 2
+plot DIR."/string-graph-peq-cppemu.dat" \
+	   i 0 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  2  ps 1 lw 1, \
+	'' i 1 using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  3  ps 1 lw 1, \
+	'' i 2 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  6  ps 1 lw 1, \
+	'' i 3  using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  8  ps 1 lw 1
Index: doc/theses/mike_brooks_MMath/plot-peg-sharing.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plot-peg-sharing.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/plot-peg-sharing.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,23 @@
+set terminal pdf color enhanced size 6.0in,3.0in font "Times,17"
+#set terminal postscript portrait enhanced size 7.5, 10. color solid 9.5;
+#set terminal wxt size 950,1250
+
+DIR="pictures"
+
+set macros
+set output "build/string-graph-peq-sharing.pdf"
+#set pointsize 2.0
+set grid
+set key top left
+set xtics (1,2,5,10,20,50,100,200,500)
+set logscale x
+#set logscale y 2
+set xlabel "String Length being appended (mean, geo. dist.), log scale" offset 2,0
+set ylabel "Time per append (ns, mean)"
+set linetype 3 dashtype 2
+set linetype 4 dashtype 2
+plot DIR."/string-graph-peq-sharing.dat" \
+	   i 0 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  2  ps 1 lw 1, \
+	'' i 1 using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  3  ps 1 lw 1, \
+	'' i 2 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  6  ps 1 lw 1, \
+	'' i 3  using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  8  ps 1 lw 1
Index: doc/theses/mike_brooks_MMath/plot-pta-sharing.gp
===================================================================
--- doc/theses/mike_brooks_MMath/plot-pta-sharing.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
+++ doc/theses/mike_brooks_MMath/plot-pta-sharing.gp	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -0,0 +1,24 @@
+set terminal pdf color enhanced size 6.0in,3.0in font "Times,17"
+#set terminal postscript portrait enhanced size 7.5, 10. color solid 9.5;
+#set terminal wxt size 950,1250
+
+DIR="pictures"
+
+set macros
+set output "build/string-graph-pta-sharing.pdf"
+#set pointsize 2.0
+set grid
+set key top left
+set xtics (1,2,5,10,20,50,100,200,500)
+set logscale x
+set logscale y 2
+set xlabel "String Length being appended (mean, geo. dist.), log scale" offset 2,0
+set ylabel "Time per append (ns, mean), log_{2} scale"
+set linetype 3 dashtype 2
+set linetype 4 dashtype 2
+plot DIR."/string-graph-pta-sharing.dat" \
+	   i 0 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  2  ps 1 lw 1, \
+	'' i 1 using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  3  ps 1 lw 1, \
+	'' i 2 using 1:2 title columnheader(1) with linespoints lt rgb "blue"	pt  6  ps 1 lw 1, \
+	'' i 3  using 1:2 title columnheader(1) with linespoints lt rgb "red"	pt  8  ps 1 lw 1, \
+	'' i 4  using 1:2 title columnheader(1) with linespoints lt rgb "black"	pt  10  ps 1 lw 1
Index: doc/theses/mike_brooks_MMath/string.tex
===================================================================
--- doc/theses/mike_brooks_MMath/string.tex	(revision bb85f76e4bf03cffc64cedb32641bd9266b950d0)
+++ doc/theses/mike_brooks_MMath/string.tex	(revision a7d93cb3408e45aae4eb90a63d1c8925d39ae244)
@@ -20,6 +20,5 @@
 @strcat@, @strncat@		& @+@					& @+@               & @+@	\\
 @strcmp@, @strncmp@		& @==@, @!=@, @<@, @<=@, @>@, @>=@
-                                                & @equals@, @compareTo@
-												                    & @==@, @!=@, @<@, @<=@, @>@, @>=@ \\
+                                                & @equals@, @compareTo@  & @==@, @!=@, @<@, @<=@, @>@, @>=@ \\
 @strlen@				& @length@, @size@	 	& @length@			& @size@ 	\\
 @[ ]@					& @[ ]@				 	& @charAt@          & @[ ]@	\\
@@ -369,5 +368,5 @@
 
 \begin{figure}
-\includegraphics{memmgr-basic}
+\includegraphics{memmgr-basic.pdf}
 \caption{String memory-management data structures}
 \label{f:memmgr-basic}
@@ -578,36 +577,41 @@
 The \emph{append} tests use the varying-from-1 corpus construction, \ie they do not assume away the STL's advantage for small-string optimization.
 \PAB{To discuss: any other case variables introduced in the performance intro}
-Figure \ref{fig:string-graph-peq-cppemu} shows this behaviour, by the STL and by \CFA in STL emulation mode.
+\VRef[Figure]{fig:string-graph-peq-cppemu} shows this behaviour, by the STL and by \CFA in STL emulation mode.
 \CFA reproduces STL's performance, up to a 15\% penalty averaged over the cases shown, diminishing with larger strings, and 50\% in the worst case.
 This penalty characterizes the amount of implementation fine tuning done with STL and not done with \CFA in present state.
 The larger inherent penalty, for a user mismanaging reuse, is 40\% averaged over the cases shown, is minimally 24\%, shows up consistently between the STL and \CFA implementations, and increases with larger strings.
 
-\PAB{Most of your graphs are unreadable. gnuplot is a good tool for generating high quality graphs.}
-
 \begin{figure}
-	\includegraphics[width=\textwidth]{string-graph-peq-cppemu.png}
-	\caption{Average time per iteration with one \lstinline{x += y} invocation, comparing \CFA with STL implementations (given \CFA running in STL emulation mode), and comparing the ``fresh'' with ``reused'' reset styles, at various string sizes.}
+\centering
+	\includegraphics{string-graph-peq-cppemu.pdf}
+%	\includegraphics[width=\textwidth]{string-graph-peq-cppemu.png}
+	\caption{Average time per iteration (lower is better) with one \lstinline{x += y} invocation, comparing \CFA with STL implementations (given \CFA running in STL emulation mode), and comparing the ``fresh'' with ``reused'' reset styles, at various string sizes.}
 	\label{fig:string-graph-peq-cppemu}
 \end{figure}
 
 \begin{figure}
-	\includegraphics[width=\textwidth]{string-graph-peq-sharing.png}
-	\caption{Average time per iteration with one \lstinline{x += y} invocation, comparing \CFA (having implicit sharing activated) with STL, and comparing the ``fresh'' with ``reused'' reset styles, at various string sizes.}
+\centering
+	\includegraphics{string-graph-peq-sharing.pdf}
+%	\includegraphics[width=\textwidth]{string-graph-peq-sharing.png}
+	\caption{Average time per iteration (lower is better) with one \lstinline{x += y} invocation, comparing \CFA (having implicit sharing activated) with STL, and comparing the ``fresh'' with ``reused'' reset styles, at various string sizes.}
 	\label{fig:string-graph-peq-sharing}
 \end{figure}
 
-In sharing mode, \CFA makes the fresh/reuse difference disappear, as shown in Figure \ref{fig:string-graph-peq-sharing}.
+In sharing mode, \CFA makes the fresh/reuse difference disappear, as shown in \VRef[Figure]{fig:string-graph-peq-sharing}.
 At append lengths 5 and above, \CFA not only splits the two baseline STL cases, but its slowdown of 16\% over (STL with user-managed reuse) is close to the \CFA-v-STL implementation difference seen with \CFA in STL-emulation mode.
 
 \begin{figure}
-	\includegraphics[width=\textwidth]{string-graph-pta-sharing.png}
-	\caption{Average time per iteration with one \lstinline{x = x + y} invocation (new, purple bands), comparing \CFA (having implicit sharing activated) with STL.
-For context, the results from Figure \ref{fig:string-graph-peq-sharing} are repeated as the bottom bands.
+\centering
+	\includegraphics{string-graph-pta-sharing.pdf}
+%	\includegraphics[width=\textwidth]{string-graph-pta-sharing.png}
+	\caption{Average time per iteration (lower is better) with one \lstinline{x = x + y} invocation (new, purple bands), comparing \CFA (having implicit sharing activated) with STL.
+For context, the results from \VRef[Figure]{fig:string-graph-peq-sharing} are repeated as the bottom bands.
 While not a design goal, and not graphed out, \CFA in STL-emulation mode outperformed STL in this case; user-managed allocation reuse did not affect any of the implementations in this case.}
 	\label{fig:string-graph-pta-sharing}
 \end{figure}
 
-When the user takes a further step beyond the STL's optimal zone, by running @x = x + y@, as in Figure \ref{fig:string-graph-pta-sharing}, the STL's penalty is above $15 \times$ while \CFA's (with sharing) is under $2 \times$, averaged across the cases shown here.
+When the user takes a further step beyond the STL's optimal zone, by running @x = x + y@, as in \VRef[Figure]{fig:string-graph-pta-sharing}, the STL's penalty is above $15 \times$ while \CFA's (with sharing) is under $2 \times$, averaged across the cases shown here.
 Moreover, the STL's gap increases with string size, while \CFA's converges.
+
 
 \subsubsection{Test: Pass argument}
@@ -621,6 +625,8 @@
 
 \begin{figure}
-	\includegraphics[width=\textwidth]{string-graph-pbv.png}
-	\caption{Average time per iteration with one call to a function that takes a by-value string argument, comparing \CFA (having implicit sharing activated) with STL.
+\centering
+	\includegraphics{string-graph-pbv.pdf}
+%	\includegraphics[width=\textwidth]{string-graph-pbv.png}
+	\caption{Average time per iteration (lower is better) with one call to a function that takes a by-value string argument, comparing \CFA (having implicit sharing activated) with STL.
 (a) With \emph{Varying-from-1} corpus construction, in which the STL-only benefit of small-string optimization occurs, in varying degrees, at all string sizes.
 (b) With \emph{Fixed-size} corpus construction, in which this benefit applies exactly to strings with length below 16.
@@ -629,5 +635,5 @@
 \end{figure}
 
-Figure \ref{fig:string-graph-pbv} shows the costs for calling a function that receives a string argument by value.
+\VRef[Figure]{fig:string-graph-pbv} shows the costs for calling a function that receives a string argument by value.
 STL's performance worsens as string length increases, while \CFA has the same performance at all sizes.
 
@@ -674,4 +680,5 @@
 
 \begin{figure}
+\centering
   \includegraphics[width=\textwidth]{string-graph-allocn.png}
   \caption{Space and time performance, under varying fraction-live targets, for the five string lengths shown, at (\emph{Fixed-size} corpus construction.
@@ -682,5 +689,5 @@
 \end{figure}
 
-Figure \ref{fig:string-graph-allocn} shows the results of this experiment.
+\VRef[Figure]{fig:string-graph-allocn} shows the results of this experiment.
 At all string sizes, varying the liveness threshold gives offers speed-for-space tradeoffs relative to STL.
 At the default liveness threshold, all measured string sizes see a ??\%--??\% speedup for a ??\%--??\% increase in memory footprint.
