go 、rust、python 语言 编码效率、性能比较

1、 Rust适合内存使用苛刻、无GC、超高性能的场景

如果是实时计算系统,那rust的吞吐量对于Go还是有一定优势的,基于线程和goroutine的调度模式还是有差别的。能用他的都是高手,代码量大,内存占用不高,

20个线程,每个线程运行50亿次,rust和Go用时,16.5s vs 36秒,内存占用的话都不高,但是看得出来Go的占用一直在上升,rust的内存占用主要在线程上,计算过程中内存并不会增加,十分稳定。至于CPU,毫无疑问都是100%。

Rust的Tokio-没有菜鸟的逍遥派

Rust是近些年来随着Serverless一起新兴起的语言,表面上看他像是C,既没有JVM虚拟机也没有GC垃圾回收器,但仔细一瞧他还不是C,Rust特别不信任程序员,力图让Rust编译器把程序中的错误杀死在在生成可执行文件之前的Build阶段。由于没有GC所以Rust当中独创了一套变量的生命周期及借调用机制。开发者必须时刻小心变量的生命周期是否存在问题。

2、Go适合网络编程、软实时系统,面世较晚,并发效果比python好。
Go必然是第一选择,因为Go的学习曲线比Rust平缓太多了,开发效率也更高,何况Go的异步网络IO也是如此的优秀,这方面Rust还有待提高~

与Java、Rust等语言不同,Go语言风格自成一派,它不太需要什么高并发框架,因为Go语言自身就是一个非常强大的高并发框架。Go语言给人的第一印象是非常的极致,它对于代码简洁性的要求非常严格,代码中用不到的Package严禁import,用不到的变量也要求强制删除。

Go语言的优秀范例很多,Docker、K8s、TiDB、BFE等等不胜枚举,即便不参考这些成功的开源项目,仅仅依靠官方给出的示范,也能让一行简单的Go语句表现出技惊四座的性能。在限定代码行数的情况下,Go语言的表现应该是所有框架中最好的

使用Go语言让程序员可以轻而易举的开发出一款性能强劲的应用程序,而恰恰是这种简单、易用的特性,也会让很多开发者误以为程序的效率卓越是自身编码实力的体现。但其实深入了解Go语言你会发现在高并发神器Goroutine的背后,也可能会隐藏很多细节问题

3、python 编码效率高,多核、多线程性能不高,库、框架丰富,开发效率高,并发性能不一定好
4、Java的RxJava-最具平衡之美的太极剑

基于Java语言编写的高并发产品和C相比也是不遑多让,比如Kafka、Rocket MQ等等精典也都是Java的杰作。与Go和C相比,Java的入门也不算太难,由于垃圾回收器GC的存在,令人头痛的指令问题与内存泄漏在Java的世界中基本上是不存在的。

java 各方面比较平衡鍀比较好,比方说垃圾回收

、部分参考自Go和Rust计算性能大比武_孙飞 Sunface的博客-CSDN博客2

Java、Go、Rust大比拼,高并发时代谁能称雄?_hzbooks的博客-CSDN博客

你可能感兴趣的:(golang,开发语言,后端)