推 cowbaying: 碰撞問題在高速計算的應用程式比較容易遇到 08/29 09:31
→ cowbaying: 資料低於1億筆(我推測的)的情下應該不需要擔心 XD 08/29 09:31
→ cjcat2266: 我論所有遊戲公司其實都沒有實作解決碰撞 :/ 08/29 10:28
→ cjcat2266: SID資料庫寫好了,下一步是VS debugger plugin 08/29 12:32
→ pttworld: 記憶體載入,對於每一句就會有SID加本文。 08/29 21:45
→ pttworld: 另外請益那一種類型的遊戲需要字串比較。 08/29 21:45
→ cjcat2266: 素材存取就會去比較key了呀 08/29 23:17
→ cjcat2266: 還是你是指strcmp這種lexicographical比較? 08/29 23:18
→ cjcat2266: 一般只要有字串排序或等值比較就會用到了 08/29 23:19
→ pttworld: 對的,我指的是兩字串間比較這個。 08/29 23:26
→ cjcat2266: 就算不做lexicographical排序,等值比較還是用strcmp 08/30 02:50
→ cjcat2266: 所以基本上只要檢查字串是否相同,就算是在比較了 08/30 02:51
→ cjcat2266: 這方面SID就比較有效率,因為只是比較整數而已 08/30 02:51
→ y3k: 這種Resource Key的東西 不是都應該在產生的時候計算重複問題 08/30 07:23
→ y3k: 嗎?XD 08/30 07:23
→ cjcat2266: 我們的做法是debug版本產生的時候跟資料庫確認 08/30 08:39
推 cowbaying: 其實我這幾天發現 OS本身就有一個SID系統 09/05 13:41
→ cowbaying: 所以這個部分應該是可以直接應用的? 09/05 13:42
→ cowbaying: 應該不是OS的 我覺得是FILE SYSTEM的 09/05 16:43
→ cowbaying: 好像就是這個 XDDDD 09/08 20:53
→ cjcat2266: 就我所知UUID沒有O(n)的string concat功能吧 09/09 06:51
→ cjcat2266: 這功能蠻重要的,因為遊戲常需要動態生成字串串接的SID 09/09 06:52
※ 編輯: cjcat2266 (160.33.43.15), 09/09/2016 06:59:32
→ cjcat2266: 然後只要原SID就好,不需要另外保存對應的原始字串 09/09 07:00
→ cjcat2266: 我不太熟悉一般把字串對應到UUID會怎麼做 09/09 07:07
→ cjcat2266: 目前找不到類似把字串hash成UUID的討論 09/09 07:08
→ cjcat2266: 還是說是每遇到一個新字串,就生成一個UUID加到資料庫? 09/09 07:09
→ cjcat2266: 這樣的話用字串當key去找對應的UUID是O(n*log(n))? 09/09 07:10
→ cowbaying: 這個要詳加研究一下了 囧 09/09 13:42
→ cjcat2266: 另外如果真的沒有string->UUID的hash function 09/10 00:04
→ cjcat2266: 那這樣就做不到build-time constant和switch cases了 09/10 00:05
→ cjcat2266: 其實可以啦,就是要用個自製preprocessor處理一遍 09/10 00:06
→ cjcat2266: 不過還是沒辦法像SID macro這樣所見及所得 09/10 00:07
→ cjcat2266: 總之需求是可以串接字串的compile-time constant雜湊 09/10 00:10
→ cjcat2266: 若真有string->UUID hash,那也就只是多一個hash選擇 09/10 00:11
→ cjcat2266: 把我的SID範例裡面的FNV hash改掉而已,其他不變 09/10 00:11
→ cjcat2266: 啊,看來UUID v4標準說除了版本位元以外,其他隨意 09/10 00:20
→ cjcat2266: 所以就只要找個122-bit雜湊函式就解決了 09/10 00:21
→ cjcat2266: 這樣其實就是同一件事情,也不用硬要跟UUID搭關係了... 09/10 00:22
→ cjcat2266: 自言自語一大串,到頭還是是要有個string->SID hash 09/10 00:25
→ cjcat2266: 我想也不用刻意把hash結果跟UUID做關聯,豁然開朗 @.@ 09/10 00:27
→ cjcat2266: 啊,UUID v5也就只是把SHA-1切成128bit 09/10 00:42
→ cjcat2266: 也去除了特殊位元,所以只要個128bit hash就可以了 09/10 00:43
→ cjcat2266: 這樣跟SID其實是同一件事情嘛... 09/10 00:43
推 cowbaying: XD 09/10 02:26