今天我用Qt和Golang写了一段代码用来对比它们的执行效率,代码很简单,就是求1到1000000000000的和,如下:

Qt代码:

```c

QElapsedTimer et;

et.start();

long sum = 0;

for(long i = 0; i < 1000000000000; ++i)

{

sum += i;

}

qDebug() << Q_FUNC_INFO << "Elapsed:" << et.elapsed();

qDebug() << Q_FUNC_INFO << "sum =" << sum;

```

Golang代码:

```go

package main

import "fmt"

import "time"

func main() {

now := time.Now()

var sum int64 = 0

var i int64 = 0

for ; i < 1000000000000; i++ {

sum = (sum + i)

}

duration := time.Since(now)

fmt.Println("duration:", duration)

fmt.Println("sum =", sum)

}

```

分别运行这两段代码,执行时间如下:

Qt执行时间:

```

void Sum::seqAdd() Elapsed: 0

void Sum::seqAdd() sum = 1001881602603448320

```

不到1ms就执行结束了,速度非常快

Golang执行时间:

```

duration: 8m24.477438418s

sum = 1001881602603448320

```

这个时间不知道是不是表示8分多钟,但是我当时看着输出的,好像不止8分钟,差不多半个小时才输出结果。

为什么Golang的执行效率如此之低,这个速度让人无法接受。Qt执行这段代码时瞬间就输出了结果,而Golang等了差不多半个小时才输出结果,太慢了。不知道这是为什么,是不是我程序写的有错?Golang不是号称执行速度可以媲美C或C++吗?请大侠指点下。

go语言和c运行效率,Go语言执行效率相关推荐

  1. C语言和C++语言在语法上面的部分区别

    (2011-03-16 17:12:13) 标签: 杂谈 分类:计算机 C语言和C++语言在语法上面的部分区别: 1.C语言的定义必须在最前面,C++可以在任何地方定义,比如 for(int i=0; ...

  2. 【Groovy】Groovy 动态语言特性 ( Groovy 语言与 Java 语言执行效率对比 | 以动态特性编译的 Groovy 类 | 以静态特性编译的 Groovy 类 )

    文章目录 一.以动态特性编译的 Groovy 类 二.Groovy 语言与 Java 语言执行效率对比 三.以静态特性编译的 Groovy 类 一.以动态特性编译的 Groovy 类 Groovy 类 ...

  3. C语言执行效率如何保证,看这一文就够了!

    来自公众号:嵌入式ARM 嵌入式开发基本都会选择C语言 这是因为C语言有出色的可移植性 能在多种不同体系结构的软/硬平台上运行 虽然代码的复用性差 代码的维护性差 扩展性很差 但,C语言简洁紧凑 使用 ...

  4. 【C 语言】数组作为参数退化为指针问题 ( 问题描述 | 从编译器角度分析该问题 | 出于提高 C 语言执行效率角度考虑 | 数组作为参数的推荐方案 )

    文章目录 一.问题描述 二.从编译器角度分析该问题 三.数组作为参数的推荐方案 一.问题描述 将 数组 作为 函数参数 , 传递时会 退化为指针 ; 数组的首地址 , 变为指针地址 , 函数中无法判定 ...

  5. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  6. 易语言和html交互,易语言网页交互源码

    易语言网页交互源码系统结构:浏览器消息处理函数,滚动到底部,添加文本,呼叫窗口函数地址_,设置窗口信息_,寻找子窗口_,DLL命令1, ======窗口程序集1 || ||------__启动窗口_创 ...

  7. 易语言和python交互[易语言源码|贝贝吧_易语言通过读取文件获取WIFI信息的代码...

    常量数据表 .版本 2 .常量 常量_临时目录, "", , c:\users\public\tmp_wifipath 本地WIFI密码配置读取的代码 此功能需要加载精易模块5.6 ...

  8. 易语言和python交互[易语言源码|贝贝吧,易语言修改快捷方式进行微信多开的代码...

    此功能配合精易模块使用,需要加载超级模块. 常量数据表 .版本 2 .常量 头, "" .常量 尾, "" .常量 头1, "" .常量 尾 ...

  9. c语言和python语言分别是一种什么语言_作为入门语言,C语言和Python哪一种更值得选择?...

    初学编程,应该学习哪一门编程语言,有不少人感到困惑,那么我们到底该如何选择呢? C语言和Python作为多种语言中两种语言,只是语法不同而已.以其作为入门语言的话,那还是各有千秋,各有各的好处的. 有 ...

  10. python和c语言哪个效率高_Python运行效率优于C语言的功能简介

    C语言和Python运行效率你在实际应用的过程中前者与后者你更喜欢应用那个?本文要介绍的是C语言与Python运行效率对比,突出前后者的不同以及在相关应用过程中的相关功能的介绍.以下是内容介绍. Py ...

最新文章

  1. Assembly学习心得
  2. matlab矩阵运算_MATLAB基础学习之三种基本运算
  3. OpenJDK 正式宣布AWT、2D、Swing等项目解散
  4. 设计模式:单例模式之饿汉式
  5. CSS之transition, transform, tanslate,animation
  6. 桌面整理工具不显示文件夹_「工具神器」你的桌面该整理了。
  7. Vim配置IDE开发环境
  8. 企业主机安全面临的三大风险如何解?
  9. 年薪50W不是梦,100天掌握BAT前端中高级工程师必备技能
  10. 安装.Net Standard 2.0, Impressive
  11. kaggle账号_kaggle是什么?对找工作的帮助!如何入门kaggle?
  12. GDB watch的使用
  13. C- unsigned :1之位域分析
  14. Latex 语法总结(持续更新)
  15. 微软商店上架WindowsOffice破解工具,并获5星好评?
  16. 希腊数字matlab,希腊数字|希腊数字表|希腊数字符号
  17. 关于java的面试题_JAVA面试题100问第一部分
  18. 让照片开口讲话,让视频人物对口型
  19. 解决 Minecraft 官方启动器 报错找不到 launcher.dll / LoadErrorNotPresent 的解决方法
  20. 武汉大学 计算机学院周陌,计算机学院:披荆斩棘敢于拼 考研科班夺战绩

热门文章

  1. Protocol(一)[概述]
  2. mysql查询bom清单_U8 数据库BOM表SQL语句查询
  3. 计划bom表 java_ERP总结系列(BOM浅谈)
  4. 三八定律时间管理思想
  5. RC522(RFID模块)实践总结
  6. 信息系统项目管理师考试重点和难点分析
  7. Excel正确输入身份证号码
  8. Excel 怎么验证身份证号码是否重复
  9. 入门必备小游戏之炸金花
  10. 推荐一个node QQ机器人框架-onebot