Golangでファイル読み込み行なってみます。
ファイル作成
ファイルを読み込むためのプログラムを作成します。
package main
import (
"fmt"
"os"
)
const BUFSIZE = 1024
func main() {
// ファイルオープン
file, err := os.Open(`data/test.txt`)
if err != nil {
fmt.Print("読み込みエラー")
}
// クローズ
defer file.Close()
buf := make([]byte, BUFSIZE)
for {
i := file.Read(buf)
if i == 0 {
break
}
if err != nil {
break
}
fmt.Print(string(buf[:i]))
}
}
test.txtの内容については、テキトーに入れています。
一応中身は6行くらいのデータになります。
計測結果
Golangのベンチマークの計測の仕方がわかってないので、timeコマンを使って計測しています。
buildなし
real 0m0.316s user 0m0.171s sys 0m0.089s
buildあり
real 0m0.006s user 0m0.001s sys 0m0.004s
おっ!ビルドするとやっぱ速いですね。
catコマンド
catコマンドでも一応計測してみました。
real 0m0.002s user 0m0.001s sys 0m0.001s
catコマンドは、やっぱ速いです。