Well that was dumb. platform.python_implementation returns a function, not a
string.
diff --git a/Tools/pybench/pybench.py b/Tools/pybench/pybench.py
index b4982fb..e1bc95d 100755
--- a/Tools/pybench/pybench.py
+++ b/Tools/pybench/pybench.py
@@ -121,7 +121,8 @@
         'platform': platform.platform(),
         'processor': platform.processor(),
         'executable': sys.executable,
-        'implementation': getattr(platform, 'python_implementation', 'n/a'),
+        'implementation': getattr(platform, 'python_implementation',
+                                  lambda:'n/a')(),
         'python': platform.python_version(),
         'compiler': platform.python_compiler(),
         'buildno': buildno,
@@ -837,7 +838,7 @@
         print 'PYBENCH %s' % __version__
         print '-' * LINE
         print '* using %s %s' % (
-            getattr(platform, 'python_implementation', 'Python'),
+            getattr(platform, 'python_implementation', lambda:'Python')(),
             string.join(string.split(sys.version), ' '))
 
         # Switch off garbage collection