Skip to content

dev call 20210902

Florian Angerer edited this page Sep 3, 2021 · 2 revisions

Dev Call: 2 September 2021

Present

Tim, Florian, Stepan, Antonio, Ronan, Matti, Simon, Mohaned

HPy Mini-sprint Report

  • Antonio, Ronan and Armin met in Italy to work on HPyField and walk in the mountains.

HPyField

  • PR is ready so far (thanks Antonio)
  • Florian will add doc about 'tp_traverse'; it might not be called if implementations already do tracking during HPyField_Store
  • We did also discuss a bulk-transfer API for HPyField[]. It might be useful (and necessary for the sake of performance) to be able to memcpy HPyField arrays.

Plans for HPy 0.3

  • Release 0.3 soon without HPyField.
  • GraalPython is already up to date.
  • PyPy is close to being up to date.
  • The release should probably include the GitHub Actions changes (there is an open PR for that).

Plans for HPy 0.4

  • Release 0.4 once HPyField is ready and has GraalPython and PyPy implementations.

UCT Student Proposal

  • Tim and Simon plan to put together some suggested HPy projects for students at the University of Cape Town to work on this (southern hemisphere) summer break.
  • We plan to look for good libraries to port to HPy and make a list.
  • Other suggestions for projects welcome.

Other recent HPy developments

  • Florian fully migrated ujson_hpy to HPy (removed any usage of CPython API). He implemented helper functions to account for missing HPy API functions.
  • Stepan implemented API functions HPyUnicode_AsUTF8AndSize, HPyUnicode_DecodeFSDefault, and implemented the format specified "s" for HPyArg_Parse.
  • There was a discussion about the lifetime of the 'char *' returned by HPyUnicode_AsUTF8AndSize. We agreed that the lifetime should be tied to the handle.
  • Antonio is looking into PyPy's HPy object allocation performance. PyPy is more than 2x slower (there is a benchmark in branch 'antocuni/more-microbench'). GraalPython has a similar problem. We were discussing if we could have a more efficient API but didn't have an idea so far.

What people are working on next

  • Ronan is planning to work more on the numpy port once HPyField is ready.
  • Florian is planning to work on adding HPy support to Cython.
  • Florian will create an issue with candidates for new HPy API functions that were missing when migrating ujson_hpy.
  • Florian will do CPython API function usage frequency analysis based on the top4000 packages.
  • Florian will create a micro benchmark for HPyField.
  • There will be a Cython pair programming session with Matti at Sept 3rd
  • Stepan is working on migrating psutil to HPy.
  • We are thinking of adding 'HPy_BuildValue' to reduce the number of API calls just to build one collection. There are concerns about the varargs nature of this API. Florian or Stepan will create an issue to discuss everything.
Clone this wiki locally