我使用Go是为了提高代码效率,但是当我使用Go读写文件时,发现它的读写效率没有Perl高。是我代码的问题还是其他原因?
\n构建输入文件:
\n# Input File:\nfor i in $(seq 1 600000) do echo SERVER$((RANDOM%800+100)),$RANDOM,$RANDOM,$RANDOM >> sample.csv done\nRun Code Online (Sandbox Code Playgroud)\n使用 Perl\xef\xbc\x9a 读写文件
\ntime cat sample.csv | perl -ne 'chomp;print"$_"' > out.txt\nRun Code Online (Sandbox Code Playgroud)\nreal 0m0.249s\nuser 0m0.083s\nsys 0m0.049s\nRun Code Online (Sandbox Code Playgroud)\n使用 Go 读写文件:
\npackage main\n\nimport (\n "bufio"\n "fmt"\n "io"\n "os"\n "strings"\n)\n\nfunc main() {\n\n filepath := "./sample.csv"\n file, err := os.OpenFile(filepath, os.O_RDWR, 0666)\n if err != nil {\n fmt.Println("Open file error!", err)\n return\n }\n defer file.Close()\n buf := bufio.NewReader(file)\n for {\n line, …Run Code Online (Sandbox Code Playgroud)