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博客

相关推荐
南境十里·墨染春水11 分钟前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
万少18 分钟前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
GetcharZp19 分钟前
Epic、暴雪都在用的 C++ 界面利器:Dear ImGui 零基础全景指南
后端
pixcarp1 小时前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
红尘散仙1 小时前
别再手动录屏了:用 VHS 给终端应用生成会动的文档素材
后端·rust
JosieBook2 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
加号32 小时前
【C#】 文件与目录管理:创建、删除操作的技术解析
开发语言·c#
diving deep2 小时前
脚本速览-python
开发语言·python
一生了无挂2 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
swordbob3 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言