Issue with Eric7 and Parallel Processing

Detlev Offenbach detlev at die-offenbachs.de
Thu Nov 16 17:12:29 GMT 2023


Hi,

I just committed changeset 1e498581a094, which should fix the issue. 
Please give it a try and let me know. Otherwise, it will be contained in 
release 23.12 as is.

Regards, Detlev

Am 15.11.23 um 16:33 schrieb Jamie Riotto:
> import multiprocessing
> from time import time
> import random
>
>
> def parallelSim(job_queue, output_queue):
>     for data in iter(job_queue.get, 'STOP'):
>         choices = random.choices(data, k=10)
>         total = 0
>         for i, c in enumerate(choices):
>             sign = 1 if i%2==0 else -1
>             total += c * c * sign
>
>         output_queue.put(total)
>
> if __name__ == '__main__':
>     start_time = time()
>
>     job_queue = multiprocessing.Queue()
>     output_queue = multiprocessing.Queue()
>
>     # create some data
>     data = list(range(1, 1000))
>
>     # DEBUG
>     #numCPUs = multiprocessing.cpu_count()
>     numCPUs = 4
>     iterations = 10
>     numjobs = numCPUs * iterations
>
>     # load up the job queue
>     for sim in range(numjobs):
>         job_queue.put(data)
>
>     # add Stops to the job queue
>     for x in range(numCPUs):
>         job_queue.put('STOP')
>
>     serialDebug = False
>     if serialDebug is True:
>         # Debug the Parallel Process
>         parallelSim(job_queue, output_queue)
>
>     else:
>         # parallelize processing using a pool of processes
>         for i in range(numCPUs):
>             multiprocessing.Process(target=parallelSim, 
> args=(job_queue, output_queue)).start()
>
>     results = []
>     for r in range(numjobs):
>         results.append(output_queue.get())
>
>     avg_result = sum(results) / numjobs
>     print("")
>     print(f'Average Results = {avg_result}')
>
>     end_time = time()
>     elapsed = end_time - start_time
>     print(f"Finished in: {elapsed:.3f} seconds")

-- 
Detlev Offenbach
detlev at die-offenbachs.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/eric/attachments/20231116/729d02db/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xBD1F26A5DA8A6150.asc
Type: application/pgp-keys
Size: 660 bytes
Desc: OpenPGP public key
URL: <https://www.riverbankcomputing.com/pipermail/eric/attachments/20231116/729d02db/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <https://www.riverbankcomputing.com/pipermail/eric/attachments/20231116/729d02db/attachment.sig>


More information about the Eric mailing list