社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
执行效率做比较,Go、python、java、c#、delphi、易语言等 - Go语言中文社区
Toggle navigation
文章
(current)
Go面试题
热
Go导航
Go教程
官方文档
中文文档
标准库文档
Golang入门指南
Go话题
登录
注册
执行效率做比较,Go、python、java、c#、delphi、易语言等
go
java
python
比较环境,在win7 64位,比较各种语言的整数型运算,下面的比较只作为单项比较。
具体方式,40000*40000遍历相加。为了防止编译器优化,生成一个随机数。
1:c#,在NET2.0框架下作为比较,不清楚这些年微软把NET3.5 、4.0、4.5、甚至5.0优化到了什么地步了,这些年微软在慢慢走下坡路,因为没有赶上移动时代而被谷歌和苹果超过,微软本是一个喜新厌旧的公司,过几年会扔掉一些过去开发的东西,比如最近几年花大把资金开发的
WPF、Silverlight、WCF等等,要么死亡,要么扔了,跟着微软走,得小心自己的未来,随着微软新的CEO上台,积极拥抱开源和跨平台,
.net core
也能跨平台了,只是目前BUG很多。
花费时间4.287秒!速度还行。
2:python,作为脚本语言,和编译型语言做比较不合理,但是比较速度也是逃不过的坎,执行效率慢得很,但是很多语言把它作为胶水语言,上层用python做逻辑处理,而底层用C++做运算,我见到有深度学习、游戏服务器、科学计算等等全是采用这种方式。
在国外python是一门非常火爆的语言,国内最近几年也开始慢慢关注python了。深度学习,这个热门的领域,90%的学习库必须用到它,你或许用过IDA反编译调试,它里面的脚本语言就是python。你用LINUX工作?那就必须关注它了,Linux内置安装了python。你做科学运算?那更少不了它了,它是可以和matlab做比较的啊。
执行速度确实慢了点:258秒!
3:易语言。随着最近几年电脑硬件能力的提升、64位的普及、学校毕业编程人员的逐渐增加、移动端的迅速发展等等,易语言的发展慢慢走向了衰退,同时吴涛也没有把精力放在优化易语言上,导致了这样的结果。
花费时间20.9秒,属于比较靠后的了。以下结果在易语言4.3上测试。
4:delphi,一门曾经能和c++媲美执行速度的语言,一门曾经比易语言开发还迅速的语言,一门曾经号称"聪明的程序员用delphi"的语言,但是现在已经终结了,随着PC平台的落寞、windows 32位操作系统的结束、移动大潮的开启。这门语言的开发商几经转手,它已经逐渐消失在大众的眼里,估计还过几年,没几个人会delphi了。delphi走过的这段心酸历程也许是易语言未来的写照。
执行速度,3.56秒,还看得过去,因为是D7做比较,在WIN64下,比较环境对于它来说不太公平。
5:JAVA,现在的王者,现在大型互联网公司百分百都要用到它,在WEB、移动、物联网、服务器、人工智能、深度学习、科学计算、云计算、大数据等等各大领域都有涉及,不仅仅在于它的跨平台性,更是它的执行效率现在优化到了极致。
执行速度,2.67秒,要知道,它不是编译型的语言,是在虚拟机上解析运行的。
6:GO语言,一门新型语言,这门语言把并发做到了极致,可以很方便的写出各种游戏服务器、网站服务器、云计算等等,它是利用现在操作系统的多核性而进行并发运算,导致它刚出来就备受程序员关注,新手只要学习半个月,也能写出强大的网络并发程序。随着Go1.7、1.8版本的释放,GC约束在了100微秒之内。
执行速度0.75秒。
7:PHP,这也是一门脚本语言,和其他语言比较确实不太合理,但是比较各门语言的执行速度也是可以的啊,比如和ruby、python、lua、JS等做比较。随着去年的PHP7.0的发布,现在PHP执行速度得到了大幅度提升。据目前PHP的核心开发者鸟哥(PHP目前共有三位核心开发者,鸟哥曾经就职于百度、新浪等)介绍,PHP7.0的执行效率比5.X 快2-10倍。
执行速度70秒,比python快远了。目前只测试了5.4版,没有在7.0版本下测试。
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/y13156556538/article/details/70170726
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
发表于 2019-08-25 11:40:49
阅读 ( 2900 )
分类:
Go
0 推荐
收藏
你可能感兴趣的文章
Python 提示安装pyecharts成功了,但是import时还是提示cannot import name 'Bar' from 'pyecharts'
1168 浏览
Python自动化办公 - 对Word的操作(Python-docx的基本使用)
970 浏览
Python-docx 模块读写 Word 文档基础(一):创建文档、段落格式、字体格式设置方法
659 浏览
Python百度文库爬虫之doc文件
1560 浏览
教你怎么使用Python对word文档进行操作
709 浏览
python爬取百度文库DOC文档的简易脚本
1870 浏览
javaJsoup爬取网站文章生成文件保存在本地
769 浏览
Python使用Scrapy框架爬取数据存入CSV文件
1181 浏览
python爬取文章标题和内容并保存为word_Python爬取博客的所有文章并存为带目录的word文档(实例67)...
1054 浏览
精选的优质文章
也许 Go 开发可以更简单!
10546 浏览
如何使用 Golang 日志监控你的应用程序?
12024 浏览
从Go语言实现模板设计模式浅谈Go的抽象能力
14077 浏览
阿里云基于 Go 的微服务架构分享
23936 浏览
java是否会被取代?Go会否给Java带来冲击?
28470 浏览
千万级规模高性能、高并发的网络架构经验分享
30015 浏览
阿里部分面试题汇总,对想进阿里的同学非常实用
62313 浏览
实用好文:知乎实时数仓架构实践及演进
31335 浏览
支撑马蜂窝「双11」营销大战背后的技术架构
228292 浏览
想进大厂?50个多线程面试题,你会多少?(一)
23068 浏览
0 条评论
请先
登录
后评论
官方社群
关注公众号
—— 加入社区微信群 ——
→
「Go语言教程」
领取
GO教程
1. Go语言简介
1.1 Go语言简介
1.2 Go语言的特性
1.3 Go语言为并发而生
1.4 哪些项目使用Go语言开发?
1.5 哪些大公司正在使用Go语言
1.6 Go语言的性能如何?
1.7 Go语言标准库强大
1.8 Go语言上手简单
1.9 Go语言代码风格清晰、简单
1.10 Go语言工程结构详述
1.11 第一个Go语言程序
1.12 Go语言历史版本
2. Go语言基本语法
2.1 Go语言变量的声明
2.2 Go语言变量的初始化
2.3 Go语言多个变量同时赋值
2.4 Go语言匿名变量
2.5 Go语言变量的作用域
2.6 Go语言整型(整数类型)
2.7 Go语言浮点类型(小数类型)
2.8 Go语言复数
2.9 Go语言bool类型(布尔类型)
2.10 Go语言字符串
2.11 Go语言字符类型(byte和rune)
2.12 Go语言数据类型转换
2.13 Go语言指针
2.14 Go语言变量的生命周期
2.15 Go语言常量
2.16 Go语言类型别名
2.17 Go语言关键字与标识符
2.18 Go语言运算符的优先级
3. Go语言数据结构
3.1 Go语言数组
3.2 Go语言多维数组
3.3 Go语言切片
3.4 使用append()为切片添加元素
3.5 Go语言切片复制
3.6 Go语言从切片中删除元素
3.7 Go语言range关键字
3.8 Go语言多维切片
3.9 Go语言map(映射)
3.10 Go语言遍历map
3.11 map元素的删除和清空
3.12 Go语言sync.Map
3.13 Go语言list(列表)
3.14 Go语言nil:空值/零值
4. Go语言流程控制
4.1 Go语言分支结构
4.2 Go语言循环结构
4.4 Go语言键值循环
4.5 Go语言switch语句
4.6 Go语言goto语句
4.7 Go语言break(跳出循环)
4.8 Go语言continue
5. Go语言函数
5.1 Go语言函数声明
5.2 Go语言函数变量
5.3 Go语言匿名函数
5.4 Go语言函数类型实现接口
5.5 Go语言闭包(Closure)
5.6 Go语言可变参数
5.7 Go语言defer(延迟执行语句)
5.8 Go语言递归函数
5.9 Go语言处理运行时错误
5.10 Go语言宕机(panic)
5.11 Go语言宕机恢复(recover)
5.12 Go语言计算函数执行时间
5.13 Go语言Test功能测试函数
6. Go语言结构体
6.1 Go语言结构体定义
6.2 Go语言实例化结构体
6.3 初始化结构体的成员变量
6.4 Go语言构造函数
6.5 类型内嵌和结构体内嵌
6.6 初始化内嵌结构体
6.7 内嵌结构体成员名字冲突
6.8 Go语言垃圾回收和SetFinalizer
6.9 Go语言链表操作
6.10 Go语言数据I/O对象及操作
7. Go语言接口
7.1 Go语言接口声明(定义)
7.2 Go语言实现接口的条件
7.3 Go语言类型与接口的关系
7.4 Go语言类型断言
7.5 Go语言排序
7.6 Go语言接口的嵌套组合
7.9 Go语言接口和类型之间的转换
7.10 Go语言空接口类型
7.11 Go语言类型分支
7.12 Go语言error接口
8. Go语言包
8.1 包的基本概念
8.2 Go语言封装简介及实现细节
8.3 Go语言GOPATH
8.4 Go语言常用内置包
8.5 Go语言自定义包
8.6 Go语言package
8.7 Go语言导出包中的标识符
8.8 Go语言import导入包
8.9 Go语言sync包与锁
8.10 Go语言big包
8.11 Go语言正则表达式:regexp包
8.12 Go语言time包:时间和日期
8.13 Go语言os包用法简述
8.14 Go语言flag包:命令行参数解析
8.15 Go语言go mod包依赖管理工具
8.16 Go语言runtime包:运行时
9. Go语言并发
9.1 Go语言并发简述
9.2 Go语言轻量级线程
9.3 Go语言并发通信
9.4 Go语言竞争状态
9.5 Go语言调整并发的运行性能
9.6 并发和并行的区别
9.7 goroutine和coroutine的区别
9.8 Go语言通道(chan)
9.9 示例:并发打印
9.10 Go语言单向通道
9.11 Go语言无缓冲的通道
9.12 Go语言带缓冲的通道
9.13 Go语言channel超时机制
9.14 Go语言多核并行化
9.15 互斥锁和读写互斥锁
9.16 Go语言等待组
9.17 死锁、活锁和饥饿概述
9.18 Go语言CSP:通信顺序进程简述
9.19 示例:聊天服务器
10. Go语言反射
10.1 Go语言反射(reflection)
10.2 Go语言反射规则浅析
10.3 通过反射获取类型信息
10.4 通过反射获取指针指向的元素类型
10.5 通过反射获取结构体的成员类型
10.6 Go语言结构体标签
10.7 通过反射获取值信息
10.8 通过反射访问结构体成员的值
10.9 判断反射值的空和有效性
10.10 通过反射修改变量的值
10.11 通过类型信息创建实例
10.12 通过反射调用函数
10.13 Go语言inject库:依赖注入
11. Go语言文件处理
11.1 Go语言自定义数据文件
11.2 Go语言JSON文件的读写操作
11.3 Go语言XML文件的读写操作
11.4 Go语言使用Gob传输数据
11.5 Go语言纯文本文件的读写操作
11.6 Go语言二进制文件的读写操作
11.7 Go语言自定义二进制文件的读写操作
11.8 Go语言zip归档文件的读写操作
11.9 Go语言tar归档文件的读写操作
11.10 Go语言使用buffer读取文件
11.11 Go语言文件的写入、追加、读取、复制操作
11.12 Go语言文件锁操作
12. Go语言编译和工具链
12.1 go build命令
12.2 go clean命令
12.3 go run命令
12.4 go fmt命令
12.5 go install命令
12.6 go get命令
12.7 go generate命令
12.8 go test命令
12.9 go pprof命令
13. Go语言进阶
13.1 Go语言的深拷贝和浅拷贝
13.2 Go语言引用传递和值传递
13.3 Go语言的Socket编程
14. 常见面试题
14.1 Golang Map底层实现
14.2 go语言触发异常的场景有哪些
14.3 Printf()、Sprintf()、Fprintf()函数的区别用法是什么
14.4 详细说说new和make的区别
14.5 详细说说切片和数组的区别
14.6 Golang的内存模型,为什么小对象多了会造成gc压力
14.7 Data Race问题怎么解决?能不能不加锁解决这个问题
14.8 在 range 迭代 slice 时,你怎么修改值的
14.9 select可以用于什么
14.10 go语言编程的好处是什么
14.11 你是否主动关闭过http连接,为啥要这样做
14.12 recover的执行时机
14.13 说出一个避免Goroutine泄露的措施
14.14 如何跳出for select 循环
14.15 如何初始化带嵌套结构的结构体
14.16 Printf()、Sprintf()、Fprintf()函数的区别用法是什么
14.17 go语言中的引用类型包含哪些
14.18 说说go语言的select机制
推荐文章
winlogon源码分析
CTF Web学习(三)----python脚本的编写及应用
Java中DecimalFormat中的四舍五入的用法
Java8--Stream流
Golang中[]byte与string转换全解析
Golang下的unicode与字符编码
nginx 自动解压gzip压缩数据的两种方式:nginx自动解压、后台java程序解压
python from pyecharts import Bar报错问题
python pip成功后from pyecharts import Bar仍报错问题
解决python中cannot import name 'Bar' from 'pyecharts'问题
猜你喜欢
随便看看
linux内存管理--linux内核高端内存
gRPC的简单使用
IDEA启动tomcat报错:java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext、Contai...
go之道--搭建高性能服务器
3.4.2 最新版本grpc压测例子
gRpc的demo测试过程
基于GRPC+consul通信的服务化框架
GRPC学习之路(2)——尝试与Nginx集成
最小生成树之普里姆算法
Windows下搭建Logstash+Elasticsearch+Kibana日志分析系统
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!