目前我在我的程序中使用了5個字典,其中2個字典有13萬個鍵值對。每個Dict都是pair,其中key是長度爲1-6的char值,value是key,value對的另一個字典,現在key的長度爲1-12,值爲元組。Python中的哈希表
在python中的這個解決方案工作正常,但效率不高,每次執行查找計數約爲80萬。當用c寫的服務器上的另一個腳本是使用GHashTable的實時過濾應用程序時,他的性能非常出色。
我的問題是如果有任何對象或實現使用GHashTable像哈希函數是python爲我的要求。 python中的字典使用散列,但爲什麼它在緩慢的重記錄中。與c的GHashTable相比,python字典使用的哈希效率不高。在python中有沒有更好的Hash實現?
python dict在數百萬條記錄中工作正常,但在重載情況下,它無法響應O(1)。
你的Python過程是否適合RAM? 是的,我有18GB的RAM,只有8GB是爲postgres和其他東西保留的。而10GB可用於處理。
說實話,考慮到數據的大小和性能要求,純Python可能根本就不是這項任務的最佳選擇。 (+1) – NPE
您似乎認爲問題與散列表有關,但您是否有任何證據?確保查找本身實際上是問題。 – delnan
沒有一個顯示你的問題的工作示例,並且一些分析你不能分辨出什麼問題。 AFAIK python的'dict'很快。他們和GHashTable之間沒有很大的性能差異,至少對於大多數用例而言。 – Bakuriu