看板 EE_DSnP 關於我們 聯絡資訊
雖然放暑假了 不過我還是很好奇 我用的hash function是 key = add_bddl ^ (add_bddr>>2) + level 我改成上面那個之後效能比我原本用的 key = 800*add_bddl +1000*add_bddr + 500*level 整整快了一倍 連cache一起改了之後就變成四倍了@@ 可是跟老師的一比較之後就一整個輸很大~~~ 我查了一下似乎是當hash function可以讓hash幾乎成為cache時會達到最佳化 也就是投影片說的最平均分配的hash 不知道老師是用了什麼祕方可以讓BDD跑這麼快呢@@? 還是有人寫出比老師快的可以分享一下嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.33.163
ric2k1:你有用 -O3 嗎.... XD 06/29 23:37
ptt6161180:.....||| 06/29 23:51
ptt6161180:開外掛啦= = 06/29 23:51
of:呃...我是有想到要用O3拉...只是我沒有想到老師的有用orz 06/29 23:53
of:難怪我dfs跟rdfs跑不出來... 06/29 23:53
of:不過我還是很好奇 到底有沒有什麼解最佳hash function的方法 06/29 23:54
suzuki1207:好奇+1 我直接相加起來再shift... 06/29 23:57
Peter034:我用(_left<<3) + (_right) + _level 跟老師速度幾乎相同 06/30 01:10
of:看來O3才是真正的速度關鍵阿= =+ 06/30 01:57