一次讀取整個文件而不是根據需要讀取字節有什麼優缺點?那麼,有沒有優勢:讀取整個文件是否有優勢
file_handle = open("somefile", rb)
file_contents = file_handle.read()
# do all the things using file_contents
相比:
file_handle = open("somefile", rb)
part1 = file_handle.read(10)
# do some stuff
part2 = file_handle.read(8)
# do some more stuff etc
背景:我寫的p代碼(字節碼)解釋在Python,並最初只是寫了一個天真的實現,它讀取字節根據需要從文件中執行必要的操作等。我展示程序的朋友建議我應該將整個文件讀入內存(Python列表?),然後從內存中進行處理,以避免大量慢速讀取磁盤。測試文件目前小於1KB,可能最多隻有100KB,所以我期望操作系統和磁盤控制器系統能夠緩存文件,避免因反覆讀取文件的小塊而導致的任何性能問題。
你的朋友是對的,你對運行時環境的信心可能是錯誤的。它會試圖儘可能地將你從細節上隔離開來,但它不會有太大的幫助。 –