为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中有效地处理大数据数组(超过 10MiB)?

如何在 Go 中有效地处理大数据数组(超过 10MiB)?

Go
犯罪嫌疑人X 2021-07-30 16:41:58
我正在使用 go 从一台服务器下载文件,并在操作文件后将其发送到另一台服务器。文件大小从 1MB 到 200MB 不等。目前,我的代码非常简单,我使用的是 http.Client 和 bytes.Buffer 。处理大文件(100MB 到 200MB)需要很多时间,其中有很多。快速分析后,我发现大部分时间我都在做字节。(*Buffer).grow,我如何创建大缓冲区,例如 16MB?我该怎么做才能提高代码的效率?处理大型 http 请求的一般提示?编辑我会解释,正是我想要做的。我有我试图复制到另一个 couchdb 实例的 couchdb 文档(带附件)。couchdb 文件大小可以从 30MB 到 200MB,复制很小(2 - 10MB)的 couchdb 文件 - 真的很快。但是通过网络发送文件真的很慢。我目前正在尝试分析,并尝试使用 @Evan 回答来查看我的问题是什么。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信