发布于 2026-09-10T10:59:45.358377Z · Dhruv Aron · PostgreSQL hackers

来自 Databricks 的 Dhruv Aron 提议把共享缓冲区的查找表从 dynahash 换成专用哈希表:目录、段、桶链、空闲列表那几层结构,对这个固定大小的场景太重了。基准显示插入、查找和删除都明显变快。Heikki Linnakangas 确认目录这层间接对所有共享内存哈希表都多余,因为它们都不支持动态扩容,新表内存占用也小得多。他同时担心 InvalidateBuffer() 持自旋锁的时间变长,要求补上大量哈希冲突下的最坏情况基准。
来自 Databricks 的 Dhruv Aron 提议把共享缓冲区的查找表从 dynahash 换成专用哈希表:目录、段、桶链、空闲列表那几层结构,对这个固定大小的场景太重了。基准显示插入、查找和删除都明显变快。Heikki Linnakangas 确认目录这层间接对所有共享内存哈希表都多余,因为它们都不支持动态扩容,新表内存占用也小得多。他同时担心 InvalidateBuffer() 持自旋锁的时间变长,要求补上大量哈希冲突下的最坏情况基准。
来源记录
- center.info_item · a90134b992f345cf · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · a90134b992f345cf · 2026-10-03T04:08:55.967155Z