Just for fun, I rewrote most of the functions in Perl (you can check my work in this gist); the results are actually somewhat interesting (f1() is very fast in Perl, for instance, while it's one of the slower implementations in Python).
via ben.stupidfool.org
Just for fun, I wrote a python script to display the benchmark result like Perl's Benchmark module does. I uploaded the script to http://gist.github.com/660557 and here's a result.
f2 9921/s -- -27% -44% -46% -47% -63% -81% -90%
f5 13654/s 38% -- -23% -25% -27% -49% -74% -86%
f1 17682/s 78% 29% -- -3% -5% -34% -67% -82%
f4 18261/s 84% 34% 3% -- -2% -32% -66% -82%
f3 18643/s 88% 37% 5% 2% -- -30% -65% -81%
f6 26791/s 170% 96% 52% 47% 44% -- -50% -73%
f7 53535/s 440% 292% 203% 193% 187% 100% -- -46%
f8 98992/s 898% 625% 460% 442% 431% 269% 85% --
the original f7 is array.array('B', list).tostring() which is a little bit different Ben's f7 pack 'C*', @$list;. I added f8 pack('%dB' % len(list), *list) to have an equivalent one to Ben's f7 and yes it is extremely faster than anything else (but not that much though).
From my understanding, Python's pack doesn't allow to use lazy format like "C*" and arguments must match the values required by the format and that is the why I had to use a string format for a pack format.