I think I have found something very interesting. Namely, I removed all 
multiprocessing (which is done in the shell script, not in Python) and so 
reduced the program to just a single thread of execution. And lo and behold, 
Python 3.10 now consistently beats 3.8 by about 5%. However, this is not the 
END! Namely, it is very important to find out why when running multiple 
processes simultaneously 3.8 still outperforms 3.10. The thing is -- all these 
different threads write to completely unrelated data files (.npz and .npy) The 
only thing they all have in common is the initial data, which they all read 
from the same 'init.npz' and 'init_W.npy' files using:

with load(args.ifilename + '.npz', allow_pickle=True) as data:

and

Winit = memmap(iWfilename, dtype='float64', mode='r', shape=(Nt, Nx, Np))

So, could this be the problem?
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/SMTEEMBDUJ7ZYM6HYOOZXT6NOHJFJIYY/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to