Issue with Eric7 and Parallel Processing
Jamie Riotto
jamie.riotto at gmail.com
Thu Nov 16 18:10:47 GMT 2023
Detlev,
Excuse my ignorance, but I'm not sure how to obtain a changeset through
mercurial. Is there an easy way?
- j
On Thu, Nov 16, 2023 at 9:12 AM Detlev Offenbach <detlev at die-offenbachs.de>
wrote:
> 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 Offenbachdetlev at die-offenbachs.de
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/eric/attachments/20231116/94b66243/attachment.htm>
More information about the Eric
mailing list