Index: doc/theses/thierry_delisle_PhD/code/relaxed_list.cpp
===================================================================
--- doc/theses/thierry_delisle_PhD/code/relaxed_list.cpp	(revision 1e24d136f25283f797c025440eb7b69e0b3e0d9d)
+++ doc/theses/thierry_delisle_PhD/code/relaxed_list.cpp	(revision 94df8deefcefe5bac7ef400a07492b532b8c8ade)
@@ -2,4 +2,5 @@
 
 #include <array>
+#include <iomanip>
 #include <iostream>
 #include <locale>
@@ -104,5 +105,7 @@
 
 	// Prep nodes
-	std::cout << "Initializing" << std::endl;
+	std::cout << "Initializing ";
+	size_t nnodes  = 0;
+	size_t npushed = 0;
 	NodeArray all_nodes[nthread];
 	for(auto & nodes : all_nodes) {
@@ -110,8 +113,10 @@
 		for(auto & node : nodes.array) {
 			auto r = rand.next() % 100;
-			if(r < fill)
+			if(r < fill) {
 				node = new Node(rand.next() % 100);
-			else
+				nnodes++;
+			} else {
 				node = nullptr;
+			}
 		}
 
@@ -121,8 +126,11 @@
 				global.crc_in += node->value;
 				list.push(node);
+				npushed++;
 				nodes.array[idx] = nullptr;
 			}
 		}
 	}
+
+	std::cout << nnodes << " nodes " << fill << "% (" << npushed << " pushed)" << std::endl;
 
 	enable_stats = true;
@@ -179,5 +187,5 @@
 			break;
 		}
-		std::cout << "\r" << durr.count() << "/" << duration;
+		std::cout << "\r" << std::setprecision(4) << durr.count();
 		std::cout.flush();
 	}
@@ -187,5 +195,5 @@
 	duration_t durr = after - before;
 	duration = durr.count();
-	std::cout << "\nClosing down" << std::endl;
+	std::cout << "\rClosing down" << std::endl;
 
 	for(auto t : threads) {
@@ -241,5 +249,5 @@
 	{
 	case 5:
-		nqueues = std::stoul(argv[4]);
+		fill = std::stoul(argv[4]);
 		[[fallthrough]];
 	case 4:
Index: doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp
===================================================================
--- doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp	(revision 1e24d136f25283f797c025440eb7b69e0b3e0d9d)
+++ doc/theses/thierry_delisle_PhD/code/relaxed_list.hpp	(revision 94df8deefcefe5bac7ef400a07492b532b8c8ade)
@@ -74,5 +74,5 @@
 		#ifndef NO_STATS
 			std::cout << "Difference   : "
-				<< size_t(double(intrusive_queue_t::stat::dif.value) / intrusive_queue_t::stat::dif.num  ) << " avg\t"
+				<< ssize_t(double(intrusive_queue_t::stat::dif.value) / intrusive_queue_t::stat::dif.num  ) << " avg\t"
 				<< intrusive_queue_t::stat::dif.max << "max" << std::endl;
 		#endif
@@ -200,5 +200,5 @@
 				stat::dif.value+= s.diff;
 				stat::dif.num  ++;
-				stat::dif.max  = std::max(stat::dif.max, s.diff);
+				stat::dif.max  = std::abs(stat::dif.max) > std::abs(s.diff) ? stat::dif.max : s.diff;
 			#endif
 		}
