1
我剛剛開始研究Go
的文件系統操作。好像至少有兩種方法來執行隨機文件中寫道:前往:尋求+寫入vs寫入性能
// 1. First set the offset, then write data
f.Seek(offset, whence)
f.Write(data)
// 2. Write by offset in one step
f.WriteAt(data, offset)
所有的三種功能(Seek
,Write
,WriteAt
)配合使用不同的系統調用來實現:在Unix系統Write
通過syscall.Write
實施而WriteAt
裏面有syscall.Pwrite
。
由於Seek+Write
執行兩個系統調用,而WriteAt
只需要一個系統調用,爲了更好的性能,第二個方法應該是首選嗎?