小编qq.*_*ang的帖子

为什么 Go 中读写文件比 Perl 慢很多?

我使用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\n
Run Code Online (Sandbox Code Playgroud)\n

使用 Perl\xef\xbc\x9a 读写文件

\n
time cat sample.csv | perl -ne 'chomp;print"$_"' > out.txt\n
Run Code Online (Sandbox Code Playgroud)\n
real    0m0.249s\nuser    0m0.083s\nsys 0m0.049s\n
Run Code Online (Sandbox Code Playgroud)\n

使用 Go 读写文件:

\n
package 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)

perl benchmarking go

2
推荐指数
1
解决办法
239
查看次数

标签 统计

benchmarking ×1

go ×1

perl ×1