Add simple benchmark
diff --git a/benchmark/read.dart b/benchmark/read.dart
new file mode 100644
index 0000000..aa516d1
--- /dev/null
+++ b/benchmark/read.dart
@@ -0,0 +1,44 @@
+import 'dart:io';
+import 'dart:typed_data';
+
+import 'package:tar/tar.dart';
+
+Future<void> main(List<String> args) async {
+  if (args.length != 1) {
+    print('Usage: dart run benchmark/list.dart <tar file>');
+    exit(1);
+  }
+
+  final file = File(args.single);
+
+  await _mark('Streaming', () => file.openRead());
+
+  final content = await file.readAsBytes();
+  await _mark('Single chunk', () => Stream.value(content));
+}
+
+Future<void> _mark(String desc, Stream<List<int>> Function() stream) async {
+  final timings = Int64List(50);
+  final stopwatch = Stopwatch();
+
+  for (var i = 0; i < timings.length; i++) {
+    stopwatch
+      ..reset()
+      ..start();
+
+    final reader = TarReader(stream());
+
+    while (await reader.moveNext()) {
+      final entry = reader.current;
+      // Make sure that we listen to the content stream
+      await entry.contents
+          .fold<int>(0, (previous, element) => previous + element.length);
+    }
+
+    timings[i] = stopwatch.elapsedMicroseconds;
+  }
+
+  timings.sort();
+
+  print('$desc: Took ${Duration(microseconds: timings[24])}');
+}