Pushing a database driver to the max: Performance and architecture in the Npgsql PostgreSQL driver

EN / День 1 / 17:30 / Зал 1

This talk will cover the latest architectural changes in the .NET PostgreSQL driver, Npgsql, which are expected to lead to significant performance improvements, and bump .NET to a significantly higher place in the TechEmpower benchmarks. We will discuss techniques of doing efficient, low-level I/O and buffering, pooling connections, synchronizing and passing data across threads/contexts via System.Threading.Channels, and similar topics. In particular, we will see how we can fundamentally reimagine what database connections and commands are, and rearchitect the driver accordingly; this can allow us to implement multiplexing and write coalescing techniques at the database driver level and achieve some very significant gains. We will also discuss how to conduct this kind of performance investigation and conduct experiments rigorously to arrive at reliable results.