首页 >后端开发 >Golang >如何准确测量 Go 项目的大小(包括依赖项)?

如何准确测量 Go 项目的大小(包括依赖项)?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-15 22:43:03523浏览

How Can I Accurately Measure the Size of My Go Project, Including Dependencies?

如何准确确定 Go 项目的大小

虽然本次讨论的主要问题围绕检查 Go 项目的大小,提供的解决方案揭示了对包依赖关系如何影响生成的二进制文件的更深入的了解size.

检查二进制文件大小

要确定 Go 项目二进制文件的大小,请导航到 $GOPATH/pkg 目录并检查 .a 文件的 KB 大小(库二进制文件)。对于 gorilla http 包,64 位 MacOS 系统上的大小如下:

284 mux.a
128 securecookie.a
128 sessions.a

超出库大小

但是,包大小不是其对可执行文件大小影响的唯一决定因素。依赖关系也会有所贡献,尽管由于导入的包之间共享依赖关系而有所不同。

示例:依赖关系的影响

考虑以下三个程序:

  • empty.go: 无依赖项(大小: 1028 KB)
  • http.go:导入“net/http”(大小:5812 KB)
  • mux.go:导入“github .com/gorilla/mux”(大小:5832 KB)

尽管它们的功能相同,但大小差异很大。 “net/http”本身就增加了相当大的重量,而“mux”由于依赖于“net/http”而带来额外的开销。

结论

为了准确确定包导入对二进制大小的真正影响,不仅要考虑库本身的大小,还要考虑其子依赖项。这将使您更全面地了解包如何影响 Go 中的整体可执行文件大小。

以上是如何准确测量 Go 项目的大小(包括依赖项)?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn