Index: doc/theses/andrew_beach_MMath/code/CondMatch.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/CondMatch.java	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/CondMatch.java	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -30,4 +30,5 @@
 		}
 
+		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
 			try {
@@ -37,4 +38,6 @@
 			}
 		}
+		long endTime = System.nanoTime();
+		System.out.println("Run-Time (ns) " + (endTime - startTime));
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/CrossCatch.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/CrossCatch.java	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/CrossCatch.java	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -11,4 +11,5 @@
 		}
 
+		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
 			try {
@@ -20,4 +21,6 @@
 			}
 		}
+		long endTime = System.nanoTime();
+		System.out.println("Run-Time (ns) " + (endTime - startTime));
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/CrossFinally.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/CrossFinally.java	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/CrossFinally.java	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -9,4 +9,5 @@
 		}
 
+		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
 			try {
@@ -16,4 +17,6 @@
 			}
 		}
+		long endTime = System.nanoTime();
+		System.out.println("Run-Time (ns) " + (endTime - startTime));
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/ThrowEmpty.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/ThrowEmpty.java	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/ThrowEmpty.java	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -22,4 +22,5 @@
 		}
 
+		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
 			try {
@@ -29,4 +30,6 @@
 			}
 		}
+		long endTime = System.nanoTime();
+		System.out.println("Run-Time (ns) " + (endTime - startTime));
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/ThrowFinally.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/ThrowFinally.java	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/ThrowFinally.java	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -23,4 +23,5 @@
 		}
 
+		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
 			try {
@@ -30,4 +31,6 @@
 			}
 		}
+		long endTime = System.nanoTime();
+		System.out.println("Run-Time (ns) " + (endTime - startTime));
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/ThrowOther.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/ThrowOther.java	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/ThrowOther.java	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -34,4 +34,5 @@
 		}
 
+		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
 			try {
@@ -43,4 +44,6 @@
 			}
 		}
+		long endTime = System.nanoTime();
+		System.out.println("Run-Time (ns) " + (endTime - startTime));
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/cond-match-r.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cond-match-r.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cond-match-r.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Conditional Match (or Re-Raise)
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -24,11 +26,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = time();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -38,3 +41,5 @@
 		}
 	}
+	Time end_time = time();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/cond-match.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cond-match.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cond-match.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Conditional Match (or Re-Raise)
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.h>
 
@@ -23,8 +25,9 @@
 int main(int argc, char * argv[]) {
 	unsigned int times = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
 
+	Time start_time = time();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -34,3 +37,5 @@
 		}
 	}
+	Time end_time = time();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/cond-match.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/cond-match.cpp	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cond-match.cpp	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,5 +1,9 @@
 // Conditional Match (or Re-Raise)
+#include <chrono>
+#include <cstdlib>
 #include <exception>
-#include <cstdlib>
+#include <iostream>
+
+using namespace std::chrono;
 
 struct EmptyException : public std::exception {};
@@ -24,11 +28,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], nullptr, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], nullptr, 10);
 	}
 
+	time_point<steady_clock> start_time = steady_clock::now();
     for (unsigned int count = 0 ; count < times ; ++count) {
         try {
@@ -38,3 +43,6 @@
 		}
     }
+	time_point<steady_clock> end_time = steady_clock::now();
+	nanoseconds duration = duration_cast<nanoseconds>(end_time - start_time);
+	std::cout << "Run-Time (ns): " << duration.count() << std::endl;
 }
Index: doc/theses/andrew_beach_MMath/code/cross-catch.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-catch.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cross-catch.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Cross a Try Statement with a Termination Handler
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -8,11 +10,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = time();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -22,3 +25,5 @@
 		}
 	}
+	Time end_time = time();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/cross-catch.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-catch.cpp	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cross-catch.cpp	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,5 +1,9 @@
 // Cross a Try Statement with a Termination Handler
+#include <chrono>
+#include <cstdlib>
 #include <exception>
-#include <cstdlib>
+#include <iostream>
+
+using namespace std::chrono;
 
 struct NotRaisedException : public std::exception {};
@@ -7,8 +11,9 @@
 int main(int argc, char * argv[]) {
 	unsigned int times = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], nullptr, 10);
 	}
 
+	time_point<steady_clock> start_time = steady_clock::now();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -18,3 +23,6 @@
 		}
 	}
+	time_point<steady_clock> end_time = steady_clock::now();
+	nanoseconds duration = duration_cast<nanoseconds>(end_time - start_time);
+	std::cout << "Run-Time (ns): " << duration.count() << std::endl;
 }
Index: doc/theses/andrew_beach_MMath/code/cross-finally.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-finally.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cross-finally.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Cross a Try Statement With Finally Clause
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -6,11 +8,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = time();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		 try {
@@ -20,3 +23,5 @@
 		}
 	}
+	Time end_time = time();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/cross-resume.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/cross-resume.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/cross-resume.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Cross a Try Statement With Finally Clause
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -8,11 +10,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = time();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -22,3 +25,5 @@
 		}
 	}
+	Time end_time = time();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/resume-detor.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-detor.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/resume-detor.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Throw Across Destructor
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -26,11 +28,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
     for (int count = 0 ; count < times ; ++count) {
         try {
@@ -40,3 +43,5 @@
         }
     }
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/resume-empty.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-empty.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/resume-empty.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Resume Across Empty Function
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -9,5 +11,4 @@
 void unwind_empty(unsigned int frames) {
 	if (frames) {
-
 		unwind_empty(frames - 1);
 	} else {
@@ -19,11 +20,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -33,3 +35,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/resume-finally.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-finally.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/resume-finally.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Throw Across Finally
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -22,11 +24,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -36,3 +39,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/resume-other.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/resume-other.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/resume-other.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Resume Across Other Handler
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -24,11 +26,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -38,3 +41,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-detor.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-detor.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-detor.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Throw Across Destructor
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -25,11 +27,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -39,3 +42,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-detor.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-detor.cpp	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-detor.cpp	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,5 +1,9 @@
 // Throw Across Destructor
+#include <chrono>
+#include <cstdlib>
 #include <exception>
-#include <cstdlib>
+#include <iostream>
+
+using namespace std::chrono;
 
 struct EmptyException : public std::exception {};
@@ -21,11 +25,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], nullptr, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], nullptr, 10);
 	}
 
+	time_point<steady_clock> start_time = steady_clock::now();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -35,3 +40,6 @@
 		}
 	}
+	time_point<steady_clock> end_time = steady_clock::now();
+	nanoseconds duration = duration_cast<nanoseconds>(end_time - start_time);
+	std::cout << "Run-Time (ns): " << duration.count() << std::endl;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-empty.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-empty.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-empty.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Throw Across Empty Function
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -18,11 +20,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -32,3 +35,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-empty.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-empty.cpp	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-empty.cpp	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,5 +1,9 @@
 // Throw Across Empty Function
+#include <chrono>
+#include <cstdlib>
 #include <exception>
-#include <cstdlib>
+#include <iostream>
+
+using namespace std::chrono;
 
 struct EmptyException : public std::exception {};
@@ -16,11 +20,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], nullptr, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], nullptr, 10);
 	}
 
+	time_point<steady_clock> start_time = steady_clock::now();
 	for (unsigned int count = 0 ; count < times ; ++count) {
 		try {
@@ -30,3 +35,6 @@
 		}
 	}
+	time_point<steady_clock> end_time = steady_clock::now();
+	nanoseconds duration = duration_cast<nanoseconds>(end_time - start_time);
+	std::cout << "Run-Time (ns): " << duration.count() << std::endl;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-finally.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-finally.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-finally.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Throw Across Finally
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -22,11 +24,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -36,3 +39,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-other.cfa
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-other.cfa	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-other.cfa	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,4 +1,6 @@
 // Throw Across Other Handler
+#include <clock.hfa>
 #include <exception.hfa>
+#include <fstream.hfa>
 #include <stdlib.hfa>
 
@@ -24,11 +26,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], 0p, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], 0p, 10);
 	}
 
+	Time start_time = timeHiRes();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -38,3 +41,5 @@
 		}
 	}
+	Time end_time = timeHiRes();
+	sout | "Run-Time (ns): " | (end_time - start_time)`ns;
 }
Index: doc/theses/andrew_beach_MMath/code/throw-other.cpp
===================================================================
--- doc/theses/andrew_beach_MMath/code/throw-other.cpp	(revision ea593a3145f5e63bdf6cbcf2b052c10bc7de6cd5)
+++ doc/theses/andrew_beach_MMath/code/throw-other.cpp	(revision e84ab3dadc96fd4dc82b5b0bc20cfe9b14f64259)
@@ -1,5 +1,9 @@
 // Throw Across Other Handler
+#include <chrono>
+#include <cstdlib>
 #include <exception>
-#include <cstdlib>
+#include <iostream>
+
+using namespace std::chrono;
 
 struct EmptyException : public std::exception {};
@@ -22,11 +26,12 @@
 	unsigned int times = 1;
 	unsigned int total_frames = 1;
-	if (2 < argc) {
+	if (1 < argc) {
 		times = strtol(argv[1], nullptr, 10);
 	}
-	if (3 < argc) {
+	if (2 < argc) {
 		total_frames = strtol(argv[2], nullptr, 10);
 	}
 
+	time_point<steady_clock> start_time = steady_clock::now();
 	for (int count = 0 ; count < times ; ++count) {
 		try {
@@ -36,3 +41,6 @@
 		}
 	}
+	time_point<steady_clock> end_time = steady_clock::now();
+	nanoseconds duration = duration_cast<nanoseconds>(end_time - start_time);
+	std::cout << "Run-Time (ns): " << duration.count() << std::endl;
 }
