Title: WinPython 64 bit with PyPy · Issue #966 · winpython/winpython · GitHub
Open Graph Title: WinPython 64 bit with PyPy · Issue #966 · winpython/winpython
X Title: WinPython 64 bit with PyPy · Issue #966 · winpython/winpython
Description: To celebrate the arrival of PyPy on Windows 64 bit, Let see if we can build a WinPython with PyPy. Interception course with cPython: interesting spot is: PyPy + VSCode + Jupyterlab + Cython + HPy , on 64 bit, maybe pyside6-6.1 WinPython ...
Open Graph Description: To celebrate the arrival of PyPy on Windows 64 bit, Let see if we can build a WinPython with PyPy. Interception course with cPython: interesting spot is: PyPy + VSCode + Jupyterlab + Cython + HPy ,...
X Description: To celebrate the arrival of PyPy on Windows 64 bit, Let see if we can build a WinPython with PyPy. Interception course with cPython: interesting spot is: PyPy + VSCode + Jupyterlab + Cython + HPy ,...
Opengraph URL: https://github.com/winpython/winpython/issues/966
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"WinPython 64 bit with PyPy","articleBody":"To celebrate the arrival of PyPy on Windows 64 bit, Let see if we can build a WinPython with PyPy.\r\n\r\nInterception course with cPython:\r\n- interesting spot is: PyPy + VSCode + Jupyterlab + Cython + [HPy ](https://www.pypy.org/posts/2019/12/hpy-kick-off-sprint-report-1840829336092490938.html), on 64 bit, maybe [pyside6-6.1](https://bugreports.qt.io/browse/PYSIDE-535)\r\n- WinPython 2021-03: PyPy-7.3.5 for Python3.7+ VSCode + Jupyterlab + Cython, on 64 bit only\r\n- WinPython 2021-04: Matplotlib-3.5.0 + PySide-6.1 + HPy and performances fixes\r\n- WinPython 2021-05: PyPy for Python-3.8, [beta seems coming this summer 2021](https://www.twitch.tv/videos/1046851224) \r\n- WinPython ~~2022-02~~ 2022-03: PyPy for Python-3.9 \r\n- WinPython 2022-05: PyPy for Python-3.10\r\n- WinPython 2023-02: PyPy for Python-3.11\r\n\r\nso far:\r\n- [x] WinPython 'dot' version; Yes but missing WPPM GUI (the Qt Problem) \r\n- [x] SQLite_bro : Yes but slightly different behavior, 6x slower\r\n- [x] VScode without Jupyter: ... works by updating VSCode settings per menu, to tell where pypy3.exe is\r\n- [x] SQLite_bro-0.9.2 fixes [PyPy compatibility](https://github.com/stonebig/sqlite_bro/commit/a63e8e89e6ca262b96de0c9d6b306bb8fd6068d1)\r\n- [x] a small Speed-Center table (below)\r\n- [x] Adapt Build System to automate PyPy builds like the cPython builds\r\n- [x] SQLite-3.35.5 in PyPy-7.3.5rc1 (becoming level with CPython)\r\n- [x] Numpy, Matplotlib, Pandas, scikit-learn\r\n- [x] Pywinpty\r\n- [x] a cython wheel (but compiling to cython slows things 2.5x, currently)\r\n- [x] statsmodels (after statsmodels [made a compatibility patch](https://github.com/statsmodels/statsmodels/pull/7462))\r\n- [x] [pyzmq fix](https://github.com/zeromq/pyzmq/pull/1534) (per Christoph Gohlke)\r\n- [x] [Jupyter compatibility](https://github.com/jupyter/jupyter_core/issues/226#issuecomment-847341125) (since May 25th morning ... to integrate in a release)\r\n\r\nRoadblocks or Hacks :\r\n- Qt Stack: needs \r\n - [x] COMPATIBLE PySide6-6.1 with PyPy,\r\n - [x] COMPATIBLE Matplotlib-3.5.0 with PySide6-6.1 (end october ~~june~~ ?)\r\n\r\nOther:\r\n- follow HPy progress (hpy-0.02 [there ](https://foss.heptapod.net/pypy/pypy/-/commits/branch/hpy-0.0.2))\r\n- performance on PyPy3 (vs optimized PyPy2):\r\n - [x] [Import lib speed-up like it's done in cPython (via cache)](https://foss.heptapod.net/pypy/pypy/-/tree/branch/py3.7-import-speedup)\r\n - [x] [better PyPy3 string handling](https://foss.heptapod.net/pypy/pypy/-/tree/branch/py3.7-newtext-const-arg-caching)\r\n - performance vs cPython:\r\n - example from the expert shows [it can indeed fly 3x cython speed](https://foss.heptapod.net/pypy/pypy/-/issues/3473#note_159611)\r\n - but it's not performant in current raw form when we use current numpy\r\n\r\nSpeed-Center:\r\n\r\nspeed test (seconds) | Cpython-3.9 | Pypy-7.3.5 3.7.10 | PyPy-7.3.6 3.8.10 nightly | comment\r\n------------|---------------|-----------|----------|-----|\r\nSQLite_bro | 13 | 85 | 35 | seems linked to ['import' not being cached](https://foss.heptapod.net/pypy/pypy/-/issues/3431) , but now SQLite-3.35.0 with math functions included, and PyPy-7.3.6 will cache imports (200x speed-up, but apparently no effect)\r\n[sudoku_norvig_for_comparison_of_complexity.py](https://github.com/winpython/winpython_afterdoc/blob/master/docs/Solvers_Raymond_Hettinger/python/sudoku_norvig_for_comparison_of_complexity.py) | 0.09 | 0.51 | \r\n[sudoku_norvig_for_comparison_of_complexity.py (hard1)](https://github.com/winpython/winpython_afterdoc/blob/master/docs/Solvers_Raymond_Hettinger/python/sudoku_norvig_for_comparison_of_complexity.py) | 89 | 42 | 65 | python-3.10a7 = 89s, numba can't, cython = 47s\r\nspeed_basic.py (code below or [there](https://realpython.com/pypy-faster-python/)) | 25.5 | 0.27 | \r\n[pyconumpy ](https://github.com/paugier/piconumpy)| | | | **the microbench to prove or not that Pypy is a scientific option (should become good with HPy)**\r\n\r\n[the Nbody experiment](https://foss.heptapod.net/pypy/pypy/-/issues/3349) became [good in PyPy with type freezing ](https://www.csl.cornell.edu/~cbatten/pdfs/cheng-type-freezing-cgo2020.pdf) \r\n at [CGO ’20, February 22–26, 2020, San Diego, CA, USA](https://cgo-conference.github.io/cgo2020/)\r\n\r\nClimate Impact\r\n\r\n","author":{"url":"https://github.com/stonebig","@type":"Person","name":"stonebig"},"datePublished":"2021-04-19T21:53:02.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":43},"url":"https://github.com/966/winpython/issues/966"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:096d4b09-3f20-eb60-f2d8-840e02f437cc |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B830:3BFB17:22E32E:2CB89A:6973FF0B |
| html-safe-nonce | e24c391278421b7dce5f75b03363f065cddbb65f23cadf74defc0bfbc0e16245 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCODMwOjNCRkIxNzoyMkUzMkU6MkNCODlBOjY5NzNGRjBCIiwidmlzaXRvcl9pZCI6IjIwMjA3NjM3NTc4NDY5ODY1MDciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 507a87b15b36530c160ad977e109b45d828f446c51fd99b9e0db33757413486b |
| hovercard-subject-tag | issue:861977495 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/winpython/winpython/966/issue_layout |
| twitter:image | https://opengraph.githubassets.com/3dfc781a9dedac903efea3edb0c9dd5a345b990e9ae7d323881935c2c0238238/winpython/winpython/issues/966 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3dfc781a9dedac903efea3edb0c9dd5a345b990e9ae7d323881935c2c0238238/winpython/winpython/issues/966 |
| og:image:alt | To celebrate the arrival of PyPy on Windows 64 bit, Let see if we can build a WinPython with PyPy. Interception course with cPython: interesting spot is: PyPy + VSCode + Jupyterlab + Cython + HPy ,... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | stonebig |
| hostname | github.com |
| expected-hostname | github.com |
| None | 2e0119fb6c27766bcaf7c7facecf6a01e2e3f46178600e1ae4cd18f39f26d07e |
| turbo-cache-control | no-preview |
| go-import | github.com/winpython/winpython git https://github.com/winpython/winpython.git |
| octolytics-dimension-user_id | 8850436 |
| octolytics-dimension-user_login | winpython |
| octolytics-dimension-repository_id | 24275324 |
| octolytics-dimension-repository_nwo | winpython/winpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 24275324 |
| octolytics-dimension-repository_network_root_nwo | winpython/winpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 537b85d925713805fbaf32aee83b4c1b4506dd82 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width