Go 自带的工具集主要使用脚本和 Go 语言自身编写的,目前版本的 Go 实现了以下三个工具:

  • go install 是安装 Go 包的工具,类似 Ruby 中的 rubygems。主要用于安装非标准库的包文件,将源代码编译成对象文件。
  • go fix 用于将你的 Go 代码从旧的发行版迁移到最新的发行版,它主要负责简单的、重复的、枯燥无味的修改工作,如果像 API 等复杂的函数修改,工具则会给出文件名和代码行数的提示以便让开发人员快速定位并升级代码。Go 开发团队一般也使用这个工具升级 Go 内置工具以及 谷歌内部项目的代码。go fix 之所以能够正常工作是因为 Go 在标准库就提供生成抽象语法树和通过抽象语法树对代码进行还原的功能。该工具会尝试更新当前目录下的所有 Go 源文件,并在完成代码更新后在控制台输出相关的文件名称。
  • go test 是一个轻量级的单元测试框架(第 13 章)。

摘自:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/03.7.md

go性能的评测结果

有一些评测结果:

  • 比较 Go 和 Python 在简单的 web 服务器方面的性能,单位为传输量每秒:

    原生的 Go http 包要比 web.py 快 7 至 8 倍,如果使用 web.go 框架则稍微差点,比 web.py 快 6 至 7 倍。在 Python 中被广泛使用的 tornado 异步服务器和框架在 web 环境下要比 web.py 快很多,Go 大概只比它快 1.2 至 1.5 倍(详见引用 26)。

  • Go 和 Python 在一般开发的平均水平测试中,Go 要比 Python 3 快 25 倍左右,少占用三分之二的内存,但比 Python 大概多写一倍的代码(详见引用 27)。

  • 根据 Robert Hundt(2011 年 6 月,详见引用 28)的文章对 C++、Java、Go 和 Scala,以及 Go 开发团队的反应(详见引用 29),可以得出以下结论:

    • Go 和 Scala 之间具有更多的可比性(都使用更少的代码),而 C++ 和 Java 都使用非常冗长的代码。
    • Go 的编译速度要比绝大多数语言都要快,比 Java 和 C++ 快 5 至 6 倍,比 Scala 快 10 倍。
    • Go 的二进制文件体积是最大的(每个可执行文件都包含 runtime)。
    • 在最理想的情况下,Go 能够和 C++ 一样快,比 Scala 快 2 至 3 倍,比 Java 快 5 至 10 倍。
    • Go 在内存管理方面也可以和 C++ 相媲美,几乎只需要 Scala 所使用的一半,比 Java 少 4 倍左右。

摘自:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/03.8.md

转载于:https://www.cnblogs.com/bonelee/p/6860635.html

go语言笔记——还是大爱的我的python,开发效果高,tornado的性能也很不错相关推荐

  1. Python基础笔记_Day01_计算机基础知识和Python开发环境搭建

    Day01_计算机基础知识和Python开发环境搭建 目录 01.01_计算机基础知识(计算机概述)(了解) 01.02_计算机基础知识(软件开发和计算机语言概述)(了解) 01.03_计算机基础知识 ...

  2. python语言能做什么软件-什么是Python语言,Python语言可以用来做什么?

    什么是Python语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaS ...

  3. C语言笔记:格式化输入输出(fprintf、fscanf、sscanf...)

    C语言笔记:格式化输入输出(fprintf.fscanf.sscanf-) 包含以下函数的基本库:stdlib.h fprintf int fprintf(FILE *stream, const ch ...

  4. 合并相同数据的行_R语言笔记(六):数据框重塑(reshape2)

    数据处理主要内容包括: 1. 特殊值处理 1.1 缺失值 1.2 离群值 1.3 日期 2. 数据转换(base vs. dplyr) 2.1 筛选(subset vs. filter/select/ ...

  5. 【C语言笔记结构体】

    我们都知道C语言中变量的类型决定了变量存储占用的空间.当我们要使用一个变量保存年龄时可以将其声明为int类型,当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float. 那么,当我们要做一 ...

  6. 全国计算机二级c 笔记,[IT认证]全国计算机等级考试二级C语言笔记.doc

    [IT认证]全国计算机等级考试二级C语言笔记 全国计算机等级考试概述 考试时间:一年两次,前半年是3月最后一个周末,下半年是9月第三个周末. 开考等级及科目:1级:MS Office.B.WPS Of ...

  7. 【C语言程序设计进阶-浙大翁恺】C语言笔记 文件

    [C语言程序设计进阶-浙大翁恺]C语言笔记 文件 文件 格式化输入输出 文件输入输出 二进制文件 位运算 按位运算 移位运算 位运算例子 位段 文件 格式化输入输出 %-nd:数字左对齐,且输出要占n ...

  8. Go语言笔记----GoMoudle

    Go语言笔记----GoMoudle Go Path模式 gopath缺陷 GoMoudle Go mod命令 go mod环境变量 通过 go env来查看环境变量 使⽤Go Modules初始化项 ...

  9. java语言笔记io

    java语言笔记(进阶篇) 01-IO 1.基本类 2-IO-File(文件) File:文件和目录(文件夹)的路径 (1)IO基础 ①路径 package JAVAIO1; import java. ...

最新文章

  1. c++读取txt中每行的数据到数组中
  2. 参数整定临界比例度实验_PID控制及参数调节,你真的懂了吗?
  3. 2018 Multi-University Training Contest 3
  4. 2020年考证时间表汇总!这些证书值得拥有!
  5. Linux下搭建 kafka集群 + zookeeper集群部署 安装、启动、停止
  6. MongoDB的增删改查
  7. tsm2812通用定时器中断_通用定时器中断(TIM2)
  8. @vail 判断某字段在范围内_条件判断函数If,你真的会使用吗?实用技巧都掌握吗?...
  9. 【机房收费系统】---修改信息
  10. 同步现象 心理学_「心理学学了些什么?」基础心理学知识1
  11. 一文解析TCP知识体系
  12. HTML5期末大作业:个人网站设计——简单响应式个人博客HTML模板(8页面) HTML+CSS+JavaScript...
  13. 各大洲时区以及Linux环境下修改时区
  14. LDC(logic data center)与传统的(Internet Data Center-IDC)架构对比与优势(淘宝双十一经典案例解析)
  15. jQuery获取元素属性值为undefined
  16. 【机器学习】可决系数R^2和MSE,MAE,SMSE
  17. 新兴研究将如何更好地应对社会挑战?我们等你来共同探讨!
  18. windows 用户的完美“瘦身”攻略
  19. Ubuntu 桌面便签小工具-Indicator Stickynotes
  20. 阿里90后运营的工作总结,细致而深刻!

热门文章

  1. 十、图像参数集Picture Paramater Set(PPS)解析
  2. linux没有交换分区会怎样,linux – 服务器拒绝使用交换分区
  3. mysql8自定义安装位置_【MySQL】Windows10:MySQL 8 自定义路径安装
  4. mysql job 运行时间设置_mysql 的job 设置
  5. java什么是函数式编程,Java 函数式编程(一)初识篇
  6. store 存取数据数组对象_ios – 如何在数组中保存自定义对象并将其存储在NSUserDefaults – iPhone中...
  7. python直方图均衡函数_Python中的自适应直方图均衡
  8. cosx的麦克劳林级数是多少_cosx泰勒展开
  9. r.java没有生成_r.java文件没有生成
  10. 计算机桌面堆,桌面堆限制导致内存不足错误 - Windows Server | Microsoft Docs