The CPU in your browser: WebAssembly demystified
2023-07-20 , PyCharm (Forum Hall)

In the recent years we saw an explosion of usage of Python in the browser:
Pyodide, CPython on WASM, PyScript, etc. All of this is possible thanks to the
powerful functionalities of the underlying platform, WebAssembly, which is essentially a virtual CPU
inside the browser.


In the recent years we saw an explosion of usage of Python in the browser:
Pyodide, CPython on WASM, PyScript, etc. All of this is possible thanks to the
powerful functionalities of the underlying platform, WebAssembly.

In this talk we will examine what is exactly WebAssembly, what are the strong
and weak points, what are the limitations and what the future will bring us.
We will also see why and how WebAssembly is useful and used outside the
browser.

This talk is targeted to an intermediate/advanced audience: no prior knowledge of
WebAssembly is required, but it is required to have a basic understanding of what is a compiler, an interpreter and the concept of bytecode.

The introduction will cover the basics to make sure that the talk is
understandable also by people who are completely new to the WebAssembly world,
but after that we will dive into the low-level technical details, with a
special focus on those who are relevant to the Python world, such WASI vs
emscripten, dynamic linking, JIT compilation, interoperability with other
languages, etc.


Expected audience expertise:

intermediate

Dr. Antonio Cuni is a Principal Software Engineer at Anaconda. He is a core
developer of PyScript and PyPy, and one of the founders of the HPy project,
which aims to design a better and more modern C API for Python. He loves to
write tools from developers for developers, such as Pdb++, fancycompleter and
vmprof and he is creator/maintainer/contributor of numerous other open source
projects. He have also been very active in the Python community for years,
giving talks at various conferences such as EuroPython, EuroSciPy, PyCon
Italia, and many others. He regularly writes on the PyPy blog and on the HPy
blog. His main areas of interest are compilers, language implementation, TDD
and performance.