This test file keeps being handy sometimes.
This test file keeps being handy sometimes.

file:b/test.cpp (new)
--- /dev/null
+++ b/test.cpp
@@ -1,1 +1,112 @@
+#include "include/boilerplate.hpp"
+#include <cstring>
+#include <ctime>
+#include <vector>
 
+const f32 fPI = 3.14159265f;
+const f64 PI = 3.141592653589793;
+
+template<typename T, typename I, typename S, S b, S p, template<typename T, typename I, typename S, S b, S p> class L>
+void RealFunction(L<T, I, S, b, p> l);
+
+template<typename T, u32 l>
+struct tuple {
+	private:
+		T _a [l];
+	public:
+		T& operator[] (u16 idx) {
+			return _a[idx];
+		}
+};
+
+template<u32 fill_to>
+tuple<clock_t, 4> run_test() {
+	u32 * _a = new u32[fill_to << 4];
+
+	for (u16 i = 0; i < 4; i++) {
+		_a[random_range(0, fill_to << 4)] = random_int();
+	}
+
+	free(_a);
+
+	auto l = List<u32>();
+	
+	auto l2 = List2<u32, 1, fill_to>();
+
+	auto bl = BigList<u32>();
+
+	auto v = std::vector<u32>();
+
+	clock_t start1 = clock();
+
+	for (u32 i = 0; i < fill_to; i++) {
+		l.AddItem(i);
+	}
+
+	clock_t end1 = clock();
+
+	clock_t start2 = clock();
+
+	for (u32 i = 0; i < fill_to; i++) {
+		l2.AddItem(i);
+	}
+
+	clock_t end2 = clock();
+
+	clock_t start3 = clock();
+
+	for (u32 i = 0; i < fill_to; i++) {
+		bl.AddItem(i);
+	}
+
+	clock_t end3 = clock();
+
+
+
+	clock_t start4 = clock();
+
+	for (u32 i = 0; i < fill_to; i++) {
+		v.push_back(i);
+	}
+
+	clock_t end4 = clock();
+
+	tuple<clock_t, 4> r = tuple<clock_t, 4>();
+	r[0] = end1 - start1;
+	r[1] = end2 - start2;
+	r[2] = end3 - start3;
+	r[3] = end4 - start4;
+
+	return r;
+}
+
+template<u32 fill_to>
+void do_iters(u16 iters) {
+	tuple<clock_t, 4> results = tuple<clock_t, 4>();
+
+	results[0] = 0;
+	results[1] = 0;
+	results[2] = 0;
+	results[3] = 0;
+
+	for (u16 i = 0; i < iters; i++) {
+		auto r = run_test<fill_to>();
+		results[0] += r[0];
+		results[1] += r[1];
+		results[2] += r[2];
+		results[3] += r[3];
+	}
+
+	printline("After %u iterations of %lu items:\n\tList: %llu clocks\n\tList2: %llu clocks\n\tBigList: %llu clocks\n\tvector: %llu clocks", iters, fill_to, results[0], results[1], results[2], results[3]);
+}
+
+int main() {
+	do_iters<64>(256);
+
+	do_iters<1 << 10>(256);
+
+	do_iters<1 << 15>(256);
+
+	return 0;
+}
+