[問題] 請問該怎麼修才能改善吃資源的問題

看板Python作者 (阿東)時間7年前 (2017/01/26 14:32), 7年前編輯推噓6(606)
留言12則, 10人參與, 最新討論串1/1
各位版友好, 我在ubuntu環境裡寫了一支程式,目的是把int的範圍和其他字串一起寫入文檔, 但在執行時卻發現非常吃資源...請問可以怎麼修改讓程式不會吃這麼多資源呢...? def start_write() for i in xrange(-2147483648,2147483648) fw.write("第一行:"+第一行+"\n") fw.write("第二行:"+第二行+"\n") fw.write("第三行:"+str(i)+"\n") fw.write("第四行:"+第四行+"\n") fw.write("\n") raw_input第一行 raw_input第二行 raw_input第四行 fw=open(檔案,'a') start_write() fw.close() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.100.192 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1485412347.A.694.html

01/26 15:04, , 1F
如果先將字串接好,再一次寫入檔案,會比較好嗎?
01/26 15:04, 1F
寫入的行數會影響嗎?

01/26 15:14, , 2F
xrange(-2147483648,2147483648) 太多啦 還是++就好啦
01/26 15:14, 2F
請問用++跟用for的差別是? ※ 編輯: Dong0129 (114.137.100.192), 01/26/2017 15:27:29

01/26 15:27, , 3F
吃資源是指記憶體? CPU? 還是硬碟IO?
01/26 15:27, 3F
好像是吃IO ※ 編輯: Dong0129 (114.137.100.192), 01/26/2017 15:32:01

01/26 15:55, , 4F
這個一定會很吃 IO 的吧 ~
01/26 15:55, 4F

01/26 16:05, , 5F
寫入的量就是這麼多 硬碟IO怎麼省= = 我坐等大神開示
01/26 16:05, 5F
一開始沒想到是吃IO,這樣看來應該沒得改了...謝謝 ※ 編輯: Dong0129 (114.137.100.192), 01/26/2017 16:22:07

01/26 17:44, , 6F
換SSD
01/26 17:44, 6F

01/26 17:49, , 7F
先把所有資料存到str後一次寫入速度會比較快
01/26 17:49, 7F

01/27 00:25, , 8F
假設一個iter寫入100 bytes, 這個檔案有 400 GB 喔
01/27 00:25, 8F

01/27 00:38, , 9F
這個 range 不可能一次寫入, 會 OOM
01/27 00:38, 9F
對的...寫不完啊...

01/27 01:28, , 10F
雖然根本看不懂你想幹什麼, 但直覺告訴我你程式根本寫錯
01/27 01:28, 10F
有成功寫出我要的東西,但一直把硬碟的IO資源吃掉,吃到寫不下去後跳出程式。 ※ 編輯: Dong0129 (1.169.137.27), 01/27/2017 02:47:58

01/27 07:02, , 11F
吸到str每3000或5000筆寫一次
01/27 07:02, 11F
這想法好像不錯,感謝你的建議!

01/27 07:50, , 12F
其實大家都很好奇你到底要幹嘛拉XD
01/27 07:50, 12F
※ 編輯: Dong0129 (1.169.137.27), 01/27/2017 11:28:48
文章代碼(AID): #1OYPVxQK (Python)