Index: benchmark/io/http/options.cfa
===================================================================
--- benchmark/io/http/options.cfa	(revision 2b4daf23cdfb724c24a5ed13d7d20d9fe2c80590)
+++ benchmark/io/http/options.cfa	(revision 5ad381b89a9bdf721500b0149a252171940668fe)
@@ -12,5 +12,11 @@
 #include <parseargs.hfa>
 
+#include <string.h>
+
 Options options @= {
+	{ // experiment
+		FileExperiment, // type
+	},
+
 	{ // file_cache
 		0,     // open_flags;
@@ -37,4 +43,18 @@
 };
 
+static bool parse(const char * arg, ExprimentType & value) {
+	if(strcmp(arg, "file") == 0) {
+		value = FileExperiment;
+		return true;
+	}
+
+	if(strcmp(arg, "plaintext") == 0) {
+		value = HelloWorldExperiment;
+		return true;
+	}
+
+	return false;
+}
+
 const char * parse_options( int argc, char * argv[] ) {
 	bool subthrd = false;
@@ -48,4 +68,5 @@
 		{'p', "port",           "Port the server will listen on", options.socket.port},
 		{'c', "cpus",           "Number of processors to use", options.clopts.nprocs},
+		{'T', "experiment",     "Experiment type to run: file, plaintext", options.experiment.type},
 		{'t', "threads",        "Number of worker threads to use", options.clopts.nworkers},
 		{'b', "accept-backlog", "Maximum number of pending accepts", options.socket.backlog},
Index: benchmark/io/http/options.hfa
===================================================================
--- benchmark/io/http/options.hfa	(revision 2b4daf23cdfb724c24a5ed13d7d20d9fe2c80590)
+++ benchmark/io/http/options.hfa	(revision 5ad381b89a9bdf721500b0149a252171940668fe)
@@ -7,5 +7,14 @@
 struct cluster;
 
+enum ExprimentType {
+	FileExperiment,
+	HelloWorldExperiment
+};
+
 struct Options {
+	struct {
+		ExprimentType type;
+	} experiment;
+
 	struct {
 		int open_flags;
