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.
Комментарий программного комитета:
Разработчик EntityFramework Core и автор драйвера Npgsql. Шай лучше всех знает, как писать быстрые провайдеры БД.