-
-
Notifications
You must be signed in to change notification settings - Fork 52
dev call 20231005
Stepan Sindelar edited this page Oct 5, 2023
·
8 revisions
Stepan, Florian, Matti, Du Toit, Tim, Antonio, Petr
- HPy Meetup / CPython core dev sprint in Brno
- HPy 0.9 released 🥳
- Ideas for C API summit pres:
- present (detailed) handles contract (HPy_Dup, HPy_Close, lifetime of handles, HPy_Is)
- show how is that contract implemented on CPython (HPy_Dup -> Py_INCREF, etc.)
- still: debug mode checks the full contract
- handles allow boxing (MicroPython also does boxing)
- handles would work well with WebAssembly GC (MicroPython also uses tracing GC and its API exposes handles)
- no-GIL: handles (and their lifetime tied to single Python->C call) allow "single threaded" reference counting, could that be useful?
- API vs. ABI: you can have ABI stabililty and backwards compatiblilty without an explicit context arg (like SDL did) but it is way more complicated and fragile.
- context arg allows specializations (profiling in upcalls; specialized upcall functions)
- Comments from Petr
- Petr will give a talk about the future of the C API (basically big list of suggestions)
- let's make the HPy talk a collection of extra ideas for that
- We should mainly talk about benefits of context and handles, and
- show the benefit of the HPy context.
- Antonio meant, we can also show that handles don't impose a radical change for the CPython implementation.
- We should, in general, not show too many detail in the slides but let's prepare some backup slides (for later discussion) with more details about how we implement CPython ABI mode and show that overhead is minimal.
- Stepan is not sure if the current way of shipping helpers is good
- He is curious about the updating story. How would we propagate a bug fix?
- Maybe we should ship a shared lib and load it.
- It might be useful to compile a HPy helpers version into the extension such that the runtime can check and refuse to run helpers with known issues
- Florian will open an issue for further discussion (see #450)
- We can translate binops and forloops
- There is a problem
- HPy 0.9 migration is making good progress; 26 test still
- This should (hopefully) be included in the next PyPy release
- 5 September 2024
- 4 April 2024
- 7 March 2024
- 1 February 2024
- 11 January 2024
- 7 December 2023
- 9 November 2023
- 5 October 2023
- 14 September 2023
- 3 August 2023
- 6 July 2023
- 1 June 2023
- 4 May 2023
- 13 April 2023
- 2 March 2023
- 2 February 2023
- 12 January 2023
- 1 December 2022
- 3 November 2022
- 6 October 2022
- 8 September 2022
- 4 August 2022
- 7 July 2022
- 2 June 2022
- 5 May 2022
- 7 April 2022
- 3 March 2022
- 3 February 2022
- 13 January 2022
- 2 December 2021
- 4 November 2021
- 7 October 2021
- 2 September 2021
- 12 August 2021
- 8 July 2021
- 6 May 2021
- 4 March 2021
- 7 January 2021
- 3 December 2020
- 5 November 2020