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

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

bob战队 rust_c、rust、golang、swift性能比较相关推荐

  1. delphi windows编程_2020年值得关注的新编程V语言Vlang,对标Golang、Rust、Swift

    编程语言的世界总是能搞出新花样,虽然基本原理都是万变不离其宗,但是对我们个人而言,选择好一个语言的确可以事半功倍,何乐而不为呢? 要说目前2020年比较新奇的语言,就得说说V语言Vlang了,MIT开 ...

  2. Swift 性能相关

    起初的疑问源自于「在 Swift 中的, Struct:Protocol 比 抽象类 好在哪里?」.但是找来找去都是 Swift 性能相关的东西.整理了点笔记,供大家可以参考一下. 一些疑问 在正题开 ...

  3. 【基本功】深入剖析Swift性能优化

    简介 2014年,苹果公司在WWDC上发布Swift这一新的编程语言.经过几年的发展,Swift已经成为iOS开发语言的"中流砥柱",Swift提供了非常灵活的高级别特性,例如协议 ...

  4. python爬虫和golang爬虫性能对比_Scrapy VS Golang 爬虫对比(修正)

    前言 之前写了一篇scrapy和golang爬虫性能对比,引起了很大的争议(就是被各位大佬喷的很惨的意思).其中,很多人提了数据库读写的问题,看到大家的评论后不久我又测了一下,把写数据库的那部分代码注 ...

  5. rust go java 性能_Java,Go和Rust之间的比较 - Dexter

    这是Java,Go和Rust之间的比较.这不是基准测试,而是关于:可执行文件大小.内存使用.CPU使用率.运行时要求之间的比较,当然还有一个小的基准测试,可以每秒获取一些请求. 测试三个Web服务的存 ...

  6. 如何提高 Rust 程序的性能?

    作者 | Aram Drevekenin 译者 | 马超 出品 | CSDN(ID:CSDNnews) Zellij是一款非常优秀的终端工作区和多路复用器(类似于tmux和screen),由于使用Ru ...

  7. java与swift性能,Swift语言性能分析

    一.两个疑惑 OC 和 Swift 语言在 Richards 上评测的结果显示,Swift 比 OC 快了4倍,Swift同OC相比会更快,具体应归结在那些因素上面? 通常一个 Swift 项目少则编 ...

  8. 论,golang编程语言性能如何提升?

    首先,c++,c等语言不存在这个问题,因为直接面对的是编译器,没有运行时环境. 性能优化可预期,可计算. 类似golang,java,python这种需要运行时环境的语言,往往存在理解不深入问题,特别 ...

  9. Golang + Swift 5,我们想认真做一款好的表情包工具

    个人是表情包的重度使用者,经常喜欢恶搞身边的朋友,做一些好玩的表情包. 但是对手边的一些工具都不太满意. 编辑 GIF.GIF 倒放一类的功能用过 ImgPlay,功能强大而复杂,但有时候太复杂了,做 ...

最新文章

  1. 微服务架构之「 容器技术 」
  2. Unity用UGUI做虚拟摇杆
  3. 为什么叫python编程-为什么建议大家学习Python编程呢?老男孩Python入门
  4. pandas将Series变成键值对
  5. GetWindowThreadProcessId 获得窗口所在进程ID和线程ID
  6. MySQL官方提供的测试数据库脚本和数据文件下载
  7. rome rss_RSS阅读器使用:ROME,Spring MVC,嵌入式Jetty
  8. 易会满重磅发声!新证券法将给资本市场带来哪些新变化?证监会职责定位有何新要求?...
  9. stm32单片机相同系列型号代码移植
  10. html5在线表格生成器,js简单实现自动生成表格功能示例
  11. 【pyqt5学习】——pyqt5中.qrc资源文件的创建与编写
  12. 无法忘却的旋律:《荷东》、《猛士》各专辑的曲目列表
  13. 基带单元(BBU)与无线单元(RRU)之间的高速链路-CPRI接口
  14. ES 关于text和keyword两种类型数据搜索区别
  15. 可视化:架构师必看 京东咚咚架构演进
  16. Mysql数据处理函数/单行处理函数
  17. Android平板/手机,使用qq视频通话图像旋转90度
  18. 为什么会出现403 Forbidden错误?三分钟教你快速解决问题!
  19. Harmony鸿蒙开发 四、Ability的生命周期
  20. Matlab plot 光滑曲线

热门文章

  1. bool函数_PHP变量类型测试函数的使用:一、is_bool的用法
  2. qtitanribbon注册_点云平台之QtitanRibbon
  3. linux c 网络编程与信号量,linux网络编程-----线程同步--信号量
  4. python行业缺口_根据缺口的模式选股买股票,python 学习代码
  5. mysql目录树_MySQL B+树目录及索引优化_mysql
  6. linuxpython安装_Linux安装python3.6
  7. esp8266连接不上服务器不稳定,esp8266 联网问题+链接服务器问题
  8. oracle 生成 sql语句,Oracle使用SQL语句生成日历的实现方法
  9. java 包错_以下关于Java包的描述中,错误的是()
  10. java安装后启动程序在哪_java – 有没有办法在安装后使用一些“帮助应用程序”立即启动应用程序?...