Michele wrote: > I'm trying to encode a byte data. Let's not focus on the process of > encoding; in fact, I want to emphasize that the method > create_random_block takes 0.5s to be executed (even Java it's faster) on > a Dual-Core 3.0Ghz machine: > > took 46.746999979s, avg: 0.46746999979s
> How should I decrease the execution time? Use numpy. You should be able to swap in the following in your script import numpy from numpy.core import multiarray as ma class Encoder(object): def create_random_block(self, data, seed, blocksize): number_of_blocks = len(data)//blocksize random.seed(seed) random_block = ma.fromstring("0"*blocksize, numpy.uint8) for index in range(number_of_blocks): if random.getrandbits(1): block = ma.fromstring(data[blocksize*index:blocksize*index+blocksize], numpy.uint8) random_block ^= block return random_block.tostring() There are absolutely no warranties as I'm just a random tinkerer when it comes to numpy. But if it works you should get a nice speedup... Peter -- http://mail.python.org/mailman/listinfo/python-list