Issue with Eric7 and Parallel Processing

Detlev Offenbach detlev at die-offenbachs.de
Thu Nov 16 18:28:33 GMT 2023


Hi Jaimie,

it is actually a one line change. If you visit 
https://hg.die-offenbachs.homelinux.org/eric/rev/1e498581a094 you will 
see, which line needs to be removed.

Regards,
Detlev

Am 16.11.23 um 19:10 schrieb Jamie Riotto:
> 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 Offenbach
>     detlev at die-offenbachs.de
>
-- 
Detlev Offenbach
detlev at die-offenbachs.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/eric/attachments/20231116/a28936bd/attachment-0001.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/a28936bd/attachment-0001.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/a28936bd/attachment-0001.sig>


More information about the Eric mailing list