TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Relativistic hash tables

187 点作者 yiransheng超过 10 年前

5 条评论

JoshTriplett超过 10 年前
I wrote the paper and dissertation this work was based on, and I&#x27;m happy to answer any questions people might have.<p>(Really awesome to see a production implementation of this.)
评论 #8363934 未加载
评论 #8364918 未加载
评论 #8364657 未加载
评论 #8364503 未加载
评论 #8364975 未加载
评论 #8366477 未加载
评论 #8364412 未加载
评论 #8371372 未加载
评论 #8365024 未加载
评论 #8365576 未加载
chris_va超过 10 年前
In case people find it interesting, this is very similar to how one efficiently builds a search engine for high QPS and update rate (lockless realtime document index), though that example is slightly more involved than a hash map.<p>The basic premise is that the entry point to your data structure (or internal pointers) can change over time. You don&#x27;t dismantle older entry points&#x2F;pointers until all older readers release, though you don&#x27;t have to wait for all concurrent readers to exit.
评论 #8365625 未加载
howeyc超过 10 年前
Maybe I&#x27;m daft, but the growing and shrinking explained looks like how you&#x27;d do it for any hash table, is that not how a normal one works? Do normal hash tables &quot;freeze the world&quot; to change tables or something?<p>Looks to me like an &quot;RCU grace period&quot; (not sure what this is, sleep maybe?) is introduced to allow concurrent threads time to &quot;finish reads&quot; in between pointer changes.
评论 #8364047 未加载
评论 #8364388 未加载
评论 #8364445 未加载
mamcx超过 10 年前
Forgive me if this is stupid, but this could work for implement a concurrent VM?
评论 #8365481 未加载
vkjv超过 10 年前
Could someone explain all of the grounds?
评论 #8364399 未加载
评论 #8364296 未加载