這是做給我們小RD看的 連大頭都看code了 底下的人皮還能不繃緊一點嗎? (cry)
所以以前在 I 公司 coding convention 一開頭就說不要用這東西
以前的問題是 不是所有platform 都有很好的支援 現在應該是都支援了
我猜效率應該也有改善了 很好用 但是不是很直覺的東西
stl寫習慣了,會覺得很好寫啊,只是寫完別人要看的時候,比較難懂而已
好像用慣 STL 的人會覺得很好用, 但是你沒用過的話, code 真的很不好讀... 至於 performance, 不會比直接用 C++ 差。
寫stl就是心裡面已經有了一個架構,然後才會寫得很流暢,所以別人不懂這個架構,才會覺得不好讀,而且容易昏頭(因為會轉來轉去)
根據我們美國的R&D, performance沒有比較差...
不一定...我有比過STL extension, Qt的Hash的performance...各有千秋
寫一些小程式測Hash insert, find的時間/Memory...
那data呢?是random產生?多大? hash通常是一直發生collision的時候,他的時間會拖超長的,所以你的hash function也有差
hash 其實是個很難測試的東西 hash table 的尺寸 使用的memory size 都有影響呀 可能某條件下a比較好 某條件下b比較好
我好像是random先生一組, 所有的程式都用這組...好像是從10M, 20M到160M的資料...
data都是string?hash table也要統計collision發生的次數,通常如果collision沒發生,這數據應該會速度超快
有string也有int, long. search時間看起來是O(1)
靠腰~~~又展現出死rd的性格,又要弄到什麼都清楚…另外search time是O(1),那表示幾乎都沒有collision
是...所以我一直覺得那些寫STL, Qt的人真的很厲害...
search 本來就是 O(1) 可是這樣搞不好你的hash size 是 n^2 這樣就不太會有 collision
果然太久沒寫 code 了... 腦袋跟不上了...
看不懂的討論......