from itertools import chain, islice, repeat import multiprocessing import logging # multiprocessing.log_to_stderr(logging.INFO) def f(x): return [{ 'XXXXXXX': "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 'XXXXXXX': "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 'XXXXXXX': "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 'XXXXXXX': "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", }]*7804 def generator(limit): data = [['XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX']*17]*limit with multiprocessing.Pool() as p: for res in chain.from_iterable(p.imap(f, data, chunksize=256)): yield res if __name__ == '__main__': multiprocessing.freeze_support() results = islice(generator(65536), 1) for n in results: print(n)