My guess is that this difference is predominantly different builds of NumPy. For example, the Intel optimized builds are very good, and a speed difference of the magnitude shown in this note are typical. E.g. https://www.intel.com/content/www/us/en/developer/articles/technical/numpyscipy-with-intel-mkl.html
On Sun, Dec 19, 2021 at 12:24 PM <aivazian.tig...@gmail.com> wrote: > Hello, > > Being a programmer myself I realise that a report on performance > degradation should ideally contain a small test program that clearly > reproduces the problem. However, unfortunately, I do not have the time at > present to isolate the issue to a small test case. But the good news (or > bad news, I suppose) is that the problem appears to be reasonably general, > namely it happens with two completely different programs. > > Anyway, what I am claiming is that Python 3.10 is between 1.5 and 2.5 > times SLOWER than Python 3.8, for rather generic scientific calculations > such as Fourier analysis, ODE solving and plotting. On the one hand, the > "test case" is a rather complex program that calculates Wigner function of > a quantum system and the result is 9 seconds when run with 3.8 and 23 > seconds when run with 3.10 (very easy to reproduce: just clone this > repository: https://github.com/tigran123/quantum-infodynamics and run > "time bin/harmonic-oscillator-solve.sh" from the dynamics subdirectory and > then edit initgauss.py and solve.py to point to python3.10 and run it > again). Make sure your TMPDIR points somewhere fast. My machine is a very > fast 6-core i7-6800K at 4.2GHz and 128GB RAM. The storage is also a very > fast NVMe, about 3GB/s. > > After this try a completely different program which simulates a > mathematical pendulum using PyQT (GUI) and it gives FPS:14-15 when run with > 3.8 and only 11-12 when run with 3.10. Again, it is easy to reproduce if > you have cloned the above repository: just go to > classical-mechanics/pendulum subdirectory and run psim.py (click on the > Play button in the control window and observe FPS in the plot window). Then > edit psim.py to point to Python 3.10 and run it again. You would need > PyQt5, matplotlib, numpy, scipy, pyFFTW for these programs to work. > > I realise that you would much prefer a small specific test case, but I > still hope that this report is "better than nothing". I do really desire to > help improve Python and will provide more information if requested. I use > Python everywhere, even in Termux on Android, and am quite saddened by this > degradation... > > With Python 3.8 I used these package versions: > > matplotlib 3.1.3 > numpy 1.18.1 > pyFFTW 0.12.0 > PyQt5 5.13.2 > scipy 1.4.1 > > With Python 3.10 I used these package versions: > > matplotlib 3.5.0 > numpy 1.21.4 > pyFFTW 0.12.0 > PyQt5 5.15.6 > scipy 1.7.3 > > Both Python 3.8 and 3.10 were compiled and installed by myself with > "./configure --enable-optimizations ; make ; sudo make install". > > Kind regards, > Tigran > _______________________________________________ > 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/34FP7FEG36UVBFW3ZDTL7GOQRSRBSXTQ/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- Keeping medicines from the bloodstreams of the sick; food from the bellies of the hungry; books from the hands of the uneducated; technology from the underdeveloped; and putting advocates of freedom in prisons. Intellectual property is to the 21st century what the slave trade was to the 16th.
_______________________________________________ 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/5NOZDWLEPH4CBGC6LGQ7BOSJBVZKVZFJ/ Code of Conduct: http://python.org/psf/codeofconduct/