比较环境,在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版本下测试。

执行效率做比较,Go、python、java、c#、delphi、易语言等的更多相关文章

  1. 易语言效率与C++究竟差多少(质数和计算)

    文本首发bIlibili,cnblogs为作者补发,如在其他平台看见本文,均为经允许的盗窃 易语言作为款主打 中文 易用 编程的开发软件.但是很多人都在批评易语言的效率. 我们今天通过 质数和计算 来 ...

  2. 做自动化测试选择Python还是Java?

    你好,我是测试蔡坨坨. 今天,我们来聊一聊测试人员想要进阶,想要做自动化测试,甚至测试开发,如何选择编程语言. 前言 自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的 ...

  3. 怎么优化JAVA程序的执行效率和性能?

    现在java程序已经够快的了,不过有时写出了的程序效率就不怎么样,很多细节值得我们注意,比如使用StringBuffer或者StringBuilder来拼接或者操作字符串就比直接使用String效率高 ...

  4. java执行效率低,但效率就低吗?

    很多没用过java或者没怎么用过java的程序员都会说java执行效率低,这种言论时不时的在影响着我这个初级的java开发者. java执行效率低因如下几点导致(和C++比较): 1,java不允许内 ...

  5. 关于提高python程序执行效率的思路和想法

    相比编译型语言(C系列)python胜在简介的语法和优雅的动态编程体验,但是在执行效率上,python有解释性语言先天的劣势——执行效率较低,为了让编写出的程序获得更快的执行效率,开启此文章. pyt ...

  6. Python执行效率测试模块timei的使用方法与与常用Python用法的效率比较

    timeit模块用于测试一段代码的执行效率 1.Timer类 Timer 类: __init__(stmt="pass", setup="pass", time ...

  7. 浅谈C++/JAVA/C#运行机制和执行效率

    估计有很多同学都对C++/JAVA/C#这三大热门语言的运行机制和执行效率有或多或少的困惑,自己也有,但是经过前期的学习,了解了三者在这两方面的区别,就废话不说了,进入主题吧.         一.运 ...

  8. 检测Python程序的执行效率

    无意中被问到代码执行效率的问题,那就总结一下检测代码执行效率的几种方式: 一.装饰器 在函数上加装饰器,来得到函数的执行时间. def cst_time(func, *args, **kwargs): ...

  9. 提高python执行效率的方法

    python上手很容易,但是在使用过程中,怎么才能使效率变高呢? 下面说一下提高python执行效率的方法,这里只是说一点,python在引入模块过程中提高效率的方法. 例如: 1.我们要使用os模块 ...

随机推荐

  1. intellij 自动导包

  2. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  3. SQL SERVER 批量生成编号

    开始: 在testing中,为了模拟orders,有个要求给数据库dba,如何通过后台数据库脚本快速批量生成orders. 分析 站在数据库角度,批量生成orders,也就是批量生成表中的行数据. s ...

  4. 20.2.翻译系列:EF 6中基于代码的数据库迁移技术【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx EF 6 ...

  5. 【20170506】贝业新兄弟IT总监李济宏:第三方家居物流的IT架构探索

    5月6日,物流人的节日,这一天,全国的物流人汇聚中国上海嘉定,以“新时代.新物流”为主题的2017中国货运产业大会暨货运企业家高峰论坛如期召开,同时,首届嘉年华活动隆重开启,八大主题分享活动,精彩进行 ...

  6. mysql update ...select的使用 & update 遇到 disable safe 的解决方法

    use `testdb`; update dtable d INNER JOIN new_table n ON d.details = n.details set d.email = n.email, ...

  7. curl命令例解

    curl -i --url "https://open.abc.com/ddn/purge/ItemIdReceiver" \-X "POST" \-u &qu ...

  8. H3C Comware V3 端口聚合

    通常链路聚合有三种模式:手工汇聚.静态LACP汇聚和动态LACP汇聚. 但是V3版本下只提供了 手工聚合模式 manual 和 静态LACP聚合模式 static 两种 V3版本配置链路聚合 1,创建 ...

  9. WireShark如何抓取本地localhost的包

    今天将自己的电脑既作为客户端又作为服务端进行一个程序的测试,想着用WireShark来抓包分析一下问题,但由于WireShark只能抓取经过电脑网卡的包,由于我是使用localhost或者127.0. ...

  10. SpringBoot系统列 3 - 多线程数据处理(ThreadPoolTaskExecutor、DruidDataSource)

    在上篇文章的基础上进行改造: package com.hello.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; impo ...