請看看下面的代碼(種僞代碼):關於隨機文件的速度讀取(Python)的
index = db.open()
fh = open('somefile.txt','rb')
for i in range(1000):
x = random_integer(1,5000)
pos,length = index[x]
fh.seek(pos)
buffer = fh.read(length)
doSomeThingWith(buffer)
fh.close()
db.close()
我使用的數據庫索引的位置和長度用於隨機檢索的.txt文件中的文本段。難怪,如果上面的代碼重複運行,執行時間會越來越少。
1)什麼是對這種加速負責?是因爲事情留在記憶中還是「緩存」之類?
2)有沒有辦法控制它?
3)我已經比較了其他文本段存儲在Berkeley DB等方法。如果速度最快,上面的代碼比從Berkeley DB中獲取更快。我如何判斷我的數據庫+文件解決方案的性能?我的意思是,判斷它至少「足夠快」是否安全?
謝謝你的指導性答案。 – DingZh
你能否看看我添加的問題(3)? – DingZh