• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

c、rust、golang、swift性能比较

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

mac

计算速度视觉判断是(由好到差):c > rust > swift > golang

内存开销在mac上是(由好到差):c > rust > golang > swift

注:例子都是采用uint64可溢出方式计算fib

如图:

生成文件大小、占用线程数:

c           8.3 KB                             1
swift        48 KB (2.2)     47 KB (3.0)     1
rust        348 KB                    1
golang      1.6 MB (1.6.2)  1.1 MB (1.7rc2)    4 (1.6.2)  5 (1.7rc2)

注:golang的缺省线程数与CPU核心数有关。

 

ubuntu

计算速度视觉判断是(由好到差):rust > c > swift > golang

内存开销在ubuntu上是(由好到差):c > golang > swift > rust

如图:

生成文件大小、占用线程数:

c        8.6 KB  1
swift     18 KB  1
rust     652 KB  1
golang   1.7 MB  5

 

 

Windows

计算速度视觉判断是(由好到差):c(gcc) > golang > rust > c(vs2015)

内存开销在windows上是(由好到差):c(gcc) > c(vs2015) > rust > golang

如图:

生成文件大小、占用线程数:

c (gcc)       67.7 KB  1
c (vs2015)   94.5 KB  1
golang        1.03 MB  5
rust          1.76 MB  1

 

 

fib代码描述:

如果输入整数 num <= 2,返回 1;

否则 返回 fib (num - 2) + fib (num - 1)。

 

例子:计算1~100的fib。

编译:

语言(mac/ubuntu/windows): 命令

c  (llvm7.3.0:clang-703.0.31/gcc5.2.1/MinGW:gcc4.9.3 with -std=c11): gcc -Os test_c.c -o test_c

  (vs2015:cl 19.00.24210): cl /Os test_c.c /link /out:test_c_VS2015.exe

rust (rustc 1.10.0 and cargo 0.11.0): cargo build --release

golang (go1.6.2/go1.5.1/go1.7rc1): go build -ldflags "-s -w" test_go.go

swift (swift 2.2/swift 3.0-preview1/--): swiftc -O test_swift.swift

 

 

注意:以上并非正规测试方案,比较结果仅供参考,并无权威性。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap