→ lovdkkkk:S 是 String 的話改用 StringBuilder/StringBuffer 試試? 04/25 23:51
推 LaPass:1f正解 那速度差非常多 04/25 23:53
→ lovebluetea:感謝 S是string 沒錯 我試試看 04/25 23:58
→ lovebluetea:謝謝...測試已過 速度為0.4S QQ" 04/26 00:17
→ lovebluetea:buffer為0.5sec 似乎較慢!? 04/26 00:22
推 LaPass:那0.1秒差不多都少,比較重要的差別在於執行緒安全 04/26 00:35
推 LaPass: 了多 04/26 00:37
推 musie:要看看是不是瓶頸和呼喚次數才知道0.1秒的影響大不大.. 04/26 09:39
→ bitlife:既然要串成字串,不如先用File得知檔案長度,new 一個byte[] 04/26 10:29
→ bitlife:一次讀取,再轉成String會不會好一點?PS:推文間隔有夠長Orz 04/26 10:32
→ Lordaeron:換個快一點的HD不就好了. 04/26 13:38
→ mars90226:樓上,這個代價比用StringBuilder高很多啊~ 04/26 18:16
→ Lordaeron:放到RAMDISK中, 這會便宜很多了吧. 絕對比builder便宜 04/26 22:04
推 LaPass:java有RAMDISK這個物件嗎? 囧" 04/26 22:11
推 LaPass:還是Lordaeron把StringBuilder當成硬體之類的.... 04/26 22:13
→ Lordaeron:-_-" 將你的檔案丟到ramdisk 不就好了. 需要人教嗎? 04/26 23:26
推 LaPass:目前我沒遇到這麼要求速度的物狀況過.... 囧" 04/27 00:13
→ Lordaeron:哪你在問什麼RAMDISK 物件呢? 04/27 09:51
推 LaPass:因為在討論程式碼的時候,突然有人跳到硬體方面,感覺焦點 04/27 10:38
→ LaPass:根本沒對在一起.... 04/27 10:39
→ LaPass:而且.... 在java中,StringBuilder是非常基礎的東西.... 04/27 10:42
→ Lordaeron:StringBuilder 是哪一版的Java 才出現的? 基礎? 04/27 10:45
→ LaPass:搞不懂為什麼會跳過這個解法,去換HD或是使用RAMDISK.... 04/27 10:46
→ Lordaeron:因為你檔案一大,什麼都沒用Java就是慢. 04/27 10:47
→ Lordaeron:開個600K 還要16s, 6MB呢?60MB? 04/27 10:48
推 LaPass:嗯,焦點果然不同.... 以這個例子而言,問題出在字串相加。 04/27 10:57
→ LaPass:很感謝你提供RAMDISK的方法,有用到大檔案時,我會記得的 04/27 10:59
→ Lordaeron:你不用去解釋什麼不同, 不然你就拼一下不作字串相加好 04/27 10:59
→ Lordaeron:了,看會快多少? 檔案處理本來就不適合Java/perl之類做 04/27 11:01
→ Lordaeron:大檔更是慘. 非得要的話, 請別去想改什麼鳥算法的. 04/27 11:04
推 LaPass:為什麼跟你客客氣氣的,你還這麼刺? = = 04/27 11:17
→ Lordaeron:咦? 客氣? 04/27 11:20
推 eieio:為什麼有人要堅持 O(n^2) 配好硬碟會比 O(n) 快呢? 04/27 13:50
推 eieio:60MB 配 S += f.readLine() 應該會 garbage collection 到死 04/27 13:55
→ Lordaeron:new 一個60MB 的byte array, 一口氣讀上來, 再轉字串. 04/27 14:34
推 chchwy:不要笑死人了 StringBuilder是基礎中的基礎沒錯 04/27 19:37
推 leosirius:真是又好氣又好笑= = 這是java版還是硬體版阿.. 04/27 21:04
→ Lordaeron:咦, 是呢1.5 才有的基礎. 04/27 22:36
→ mars90226:我倒覺得基不基礎不重要,重點是真的快很多 04/28 00:28
推 eieio:先說「別去想改什麼鳥算法」再改口 new 60MB byte array 哈 04/28 04:59
→ MonyemLi:如果換行對程式沒意義,又純英文.readline可以換掉 05/08 20:33
推 tomap41017:StringBuilder真的很基本沒錯阿== 05/11 15:45