So basically I created this program that adds values to redis. So far I get this timing:
real 0m27.759s
user 0m18.12
The result depends on the Python implementation, cpython's GIL prevents parallel computations from being faster than sequential ones.
Consider using the multiprocessing module, which executes each thread in its own Python process, or alternative GIL-free Python implementations like IronPython and Jython.
You can use Parallel Python for this.
Here is an example of parallel sum:
http://www.parallelpython.com/content/view/17/31/#SUM_PRIMES