之前久仰 C# 大名,但一直没实际接触过,一是感觉微软的东西都不靠谱,二是觉得这语言只有游戏产业和 ASP.NET 服务器在用,三是不知道从哪里留下了「 C# 运行性能特别差」的印象。
今天在 Windows 上写了个小数据处理脚本,出于好奇去安装了一下 .NET 9 ,用 GPT 把 Python 转成了 C# 去跑,发现这东西跑起来飞快,比 Python 快了不止七八倍,CPU 也吃满了。
继而去查了一下 Debian 的 The Computer Language Benchmarks Game 。不看不知道,好家伙,现在 C# aot 都能在 CLBG 排到 Go 头上去了:
Language |
elapsed secs / fastest |
Intel C |
1.1 |
C |
1.3 |
C# aot |
1.5 |
Java |
1.5 |
Go |
1.6 |
虽然性能测试和 Java 差不多,但内存占用要少 50%~70%。试了一下 AOT 编译,编译出来就一个 4~5MB 可执行文件,体积很小也无依赖,额外开销基本和 Rust 、C++ 那些原生语言差不多无感。
但这可是带 GC 的「重型」语言啊,微软这几年的优化确实厉害。
所以感觉这语言挺有意思,准备最近多花时间当兴趣学习一下,但还是对微软的东西不是很放心。问问各位 C# 开发:C# 有什么特别明显缺点或者写起来卡手的地方吗? 提前谢谢大家。
|