diff --git a/Makefile.PL b/Makefile.PL
index 1467c1e..2cc7547 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -16,6 +16,8 @@
     'XML::Loy' => 0.49,
     'IO::Uncompress::Unzip' => '2.091',
     'Pod::Usage'      => 0,
+    'Dumbbench' => '0.111',
+    'DateTime' => '1.51'
   },
   PREREQ_PM => {
     'XML::CompactTree::XS'     => '0.03',
diff --git a/xt/benchmark.pl b/xt/benchmark.pl
new file mode 100644
index 0000000..d8e3b2a
--- /dev/null
+++ b/xt/benchmark.pl
@@ -0,0 +1,73 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Dumbbench;
+use File::Basename 'dirname';
+use File::Spec::Functions qw/catfile rel2abs/;
+use File::Temp ':POSIX';
+use FindBin;
+use Getopt::Long;
+
+BEGIN {
+  unshift @INC, "$FindBin::Bin/../lib";
+};
+
+my $columns = 0;
+my $no_header = 0;
+GetOptions(
+  'columns|c' => \$columns,
+  'no-header|n' => \$no_header,
+  'help|h' => sub {
+    print "--columns|-c     Print instances in columns\n";
+    print "--no-header|-n   Dismiss benchmark names\n";
+    print "--help|-h        Print this page\n\n";
+    exit(0);
+  }
+);
+
+our $SCRIPT_NAME = 'tei2korapxml';
+
+my $f = dirname(__FILE__);
+my $script = rel2abs(catfile($f, '..', 'script', $SCRIPT_NAME));
+
+# Load example file
+my $file = rel2abs(catfile($f, '..', 't', 'data', 'goe_sample.i5.xml'));
+
+# Create a new benchmark object
+my $bench = Dumbbench->new(
+  verbosity => 0
+);
+
+# Add benchmark instances
+$bench->add_instances(
+  Dumbbench::Instance::PerlSub->new(
+    name => 'SimpleConversion',
+    code => sub {
+      `cat '$file' | perl '$script' > /dev/null 2>&1`
+    }
+  )
+);
+
+# Run benchmarks
+$bench->run;
+
+# Output in a single row
+if ($columns) {
+  unless ($no_header) {
+    print join("\t", map { $_->name } $bench->instances), "\n";
+  };
+  print join("\t", map { $_->result->raw_number } $bench->instances), "\n";
+  exit(0);
+};
+
+# Output simple timings for comparation
+foreach my $inst ($bench->instances) {
+  unless ($no_header) {
+    print $inst->name, ': ';
+  };
+  print $inst->result->raw_number, "\n";
+};
+
+exit(0);
+
+__END__
