Detlev, That did it! Thanks so much for tracking this down, as I rely on heavy multiprocessing in most of my apps. You're the best :-) - jamie
On Fri, Nov 17, 2023 at 5:15 AM Detlev Offenbach <det...@die-offenbachs.de> wrote: > Hi Jamie, > > I found another issue specific to the 'win32' platform. I changed the code > and debugging and running your test script works over here. See attached > file for changes to be applied. > > Regards, > Detlev > Am 16.11.23 um 23:39 schrieb Jamie Riotto: > > Ok, so I have Eric7 loaded into a virtual environment, 'eric7_qt6_venv', > which has eric7-23.11(rev.e075C8fe07fd). > I went to > c:\Users\jamie\eric7_qt6_venv\Lib\site-packages\eric7\Debugger\DebuggerInterfacePython.py > anc > commented out the line: > > #self.__autoContinued.append(debuggerId) > > When I reran the script I submitted, I had the same behavior as before, > i.e. no change. Did I miss something? > - j > > On Thu, Nov 16, 2023 at 10:28 AM Detlev Offenbach < > det...@die-offenbachs.de> wrote: > >> 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 < >> det...@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 offenbachdet...@die-offenbachs.de >>> >>> -- >> Detlev offenbachdet...@die-offenbachs.de >> >> -- > Detlev offenbachdet...@die-offenbachs.de > >