目前在我的程序中使用 5 个字典,其中 2 个有 1300 万个键值对。每个字典都是对,其中键是长度为 1-6 的字符值,值是键、值对的另一个字典,现在键的长度为 1-12,值是元组。
python 中的这个解决方案运行良好,但效率不高,每次执行查找大约有 80 万次。当在服务器上的另一个用 c 编写的脚本(实时过滤应用程序)上使用 GHashTable 时,他的性能非常出色。
我的问题是是否有任何对象或实现使用 GHashTable 之类的散列函数是 python 来满足我的要求。python中的字典使用哈希,但为什么它在大量记录中那么慢。与 c 的 GHashTable 相比,python 字典使用的哈希效率不高。python中是否有更好的哈希实现可用。
python dict 在几百万条记录中运行良好,但在重负载情况下它无法响应 O(1)。
您的 Python 进程是否适合 RAM? 是的,我有 18GB 的 Ram,只有 8GB 是为 postgres 和其他东西保留的。而 10GB 可用于处理。