QEMU 性能提升十倍的奇技淫巧

2024-12-17

Linus Heckemann 在调试 NixOS 测试套件时,发现 QEMU 虚拟机中复制数据耗时过长(超过 2 小时)。通过使用 perf 工具进行性能分析,他发现 QEMU 的 9p 服务器在查找文件时使用了效率低下的链表结构(O(n) 复杂度)。他将查找结构改为了 glib 提供的哈希表(O(1) 复杂度),从而将测试时间缩短到 7 分钟,并成功将此优化贡献到 QEMU 开源项目。

开发 9p协议