I have got it narrowed down to the "threads=6" argument of fft() and ifft() 
functions of pyFFTW! Namely, if I do NOT pass "threads=6" to fft()/iff(), then 
the parallel execution of multiple instances of the scripts is the same in 
Python 3.8 and 3.10. But it is a bit slower than with "threads=6", of course 
(as my "multiprocessing" on the shell script level is tied to the multiple 
physical problems being solved simultaneously and this number is small -- say 
4, but I have 12 processors (6 physical cores) which could execute code in 
parallel).

So, this is where we are right now: the version pyFFTW 0.12.0 on Python 3.8 
with threads=6 is 2.4 times faster than the same version 0.12.0 pyFFTW on 
Python 3.10, when four scripts are executed in parallel. But removing 
"threads=6" makes 3.10 much faster, and 3.8 a bit slower. Though not too slow 
-- instead of 9 vs 23 seconds I get 11.2 (Python 3.8) vs 10.8 (Python 3.10) 
seconds, so Python 3.10 is even a little bit faster than 3.8, but still not as 
fast as with threads=6 on 3.8.

However, that pendulum PyQT GUI application does NOT do any Fourier transforms! 
So, the problem with FPS in pendulum plotting is something different.
_______________________________________________
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/LRQIELQV5R5LDDCRRL2VDTS7DKY7OLPT/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to