请Golang深度用户说说,现在Golang的性能可以和C比吗
发布网友
发布时间:2022-04-27 02:23
我来回答
共5个回答
热心网友
时间:2022-04-18 17:04
不可以,完全没有可比性。
Golang的优势是开发速度,C可以自由、精准的操控内存。
拿string类型举个栗子:
1、修改字符串:
golang:需要分配新内存,然后进行内存copy。
c:可直接修改,可realloc。
2、存一段data:
golang:使用[]byte类型,[]byte转成string需要进行内存拷贝(排除掉利用指针进行类型转换的情况)。
c:直接用char[],可读可写。
golang中为了语言的安全性,类似的这种*有很多,牺牲了一部分性能。但golang的优势也是显而易见的,goroutine、chan都很好用,而c则需要自己进行进程、线程的管控。
热心网友
时间:2022-04-18 18:22
不可以。
可是,一台机器从生产到报废,绝大部分的时间CPU都是跑不满的,计算机的世界本来就有大量的浪费。
而程序员的时间和精力却非常宝贵,全世界99.9%的应用型程序都应该用容易开发的语言来写,为了性能而用C去写代价可能非常大。
热心网友
时间:2022-04-18 19:57
有别人替你写好的 Runtime,这样直接用电动力开发速度当然快。但是缺点在于没办法精细的控制内存,而 Goroutine 的调度机制又导致你没办法高效的利用 CPU
Go 做不到像 C 那样高效,但是在一些业务场景可以取代 C。题主要实现的高性能 MQ 应可以综合考虑之后在 Go 与 C 之间作出选择。
热心网友
时间:2022-04-18 21:48
golang是编译成机器码的,,经过优化性能直*c/c++
热心网友
时间:2022-04-18 23:56
Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。
Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前国内诸多 IT 公司均已采用Go语言开发项目。Golang编程语言零基础入门