Skip to content

dev call 20230302

Florian Angerer edited this page Mar 2, 2023 · 4 revisions

Dev Call: 2 March 2023

Present

Tim, Florian, Antonio, Simon, Petr V., Du Toit, Mohaned

Agenda

Still working on the release 0.9.

Language Summit Proposal

  • Petr suggests to have a short HPy intro as well since not everyone will know it.
  • Tim points out that we should mentioned/compare/involve Mark's new C API proposal
  • Simon thinks that concentrating too much on Mark's proposal could
  • Tim: in contrast to Mark's C API, HPy also addresses the problem that the C API is very tangled with CPython implementation.
  • Simon argues, the Microsoft team (which tries improve interpreter performance) would have an easier life if HPy would already be the default.
  • Simon points out that if CPython ignores HPy, it will be dead in the water.
  • Petr thinks that it will be very hard that CPython core devs commit to something concerning HPy (since also a lot of the devs do not really care about the C API); but he thinks that HPy is still in a good position.
  • Simon asks: do CPython core devs share the same frustration concerning the C API?
    • Petr answers: frustrations are the same among core devs and a few (including Petr) are convinced that HPy (or an approach like this) is the way to go.
  • Our (HPy team) intention of the language summit talk is to get information about steps forward.
  • Petr doesn't think that a PEP would really help.
  • We could aim to get a statement like: "Everyone interested in the C API should support HPy"
  • Florian will prepare some numbers for Numpy/HPy game of life for PyCon US

Vectorcall PR

  • See also discussion on PR 309
  • Let's go for vectorcall calling convention (i.e. C function signature HPy (*fun)(HPyContext *ctx, const HPy *args, HPy_ssize_t nargs, HPy kwnames)) as primary calling mechanism and convention (also change HPyFunc_keywords to that).
  • We should provide some helpers for easy migration from tp_call. This could be some macro that generates a trampoline or just some helper functions that do conversion to the different calling convention.
  • We can start without the flag HPy_VECTORCALL_ARGUMENTS_OFFSET and maybe add it later if it turns out to be useful.

Misc

  • Du Toit is preparing work for internship at Oracle. Currently investigating related work, i.e., existing tools and mechanisms like Cython or CPython's subinterpreters.
Clone this wiki locally