P.S. So you can see what I did, the code diff for the benchmark code is:
```
diff --git a/picard/tagger.py b/picard/tagger.py
index 1180ce8..47c3eb5 100644
--- a/picard/tagger.py
+++ b/picard/tagger.py
@@ -34,6 +34,7 @@ import sys
 from functools import partial
 from itertools import chain
 
+import datetime
 
 # A "fix" for http://python.org/sf/1438480
 def _patched_shutil_copystat(src, dst):
@@ -82,6 +83,9 @@ from picard.webservice import XmlWebService
 
 class Tagger(QtGui.QApplication):
 
+    bm_files = 0
+    bm_time = 0
+
     tagger_stats_changed = QtCore.pyqtSignal()
     listen_port_changed = QtCore.pyqtSignal(int)
     cluster_added = QtCore.pyqtSignal(Cluster)
@@ -299,12 +303,18 @@ class Tagger(QtGui.QApplication):
                     new_files.append(file)
         if new_files:
             if target is None or target is self.unmatched_files:
+                time_now = datetime.datetime.now()
                 self.unmatched_files.add_files(new_files)
+                self.bm_time += (datetime.datetime.now() - time_now).microseconds/1000
+                self.bm_files += len(new_files)
                 target = None
             for file in new_files:
                 file.load(partial(self._file_loaded, target=target))
 
     def add_directory(self, path):
+        self.bm_files = 0
+        self.bm_time = 0
+
         walk = os.walk(unicode(path))
 
         def get_files():
@@ -321,6 +331,9 @@ class Tagger(QtGui.QApplication):
                 if error is None:
                     self.add_files(result)
                 thread.run_task(get_files, process)
+            else:
+                log.error("Loaded %d files in %d ms", self.bm_files, self.bm_time)
+                self.window.set_statusbar_message("Loaded %d files in %d ms", self.bm_files, self.bm_time)
 
         process(True, False)