|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2017/1/16 12:29:45 |
标题: |
比较GO、delphi7、java、c#、python的运行效率 |
浏览:3685 |
|
加入我的收藏 |
楼主: |
电脑 WIN64位,比较方式,用标准库 来做整数型的运算。 计算40000*40000的遍历
1:c#,速度还行,4.3秒。
此帖子包含附件:
大小:31.7K |
----------------------------------------------
- |
作者: |
|
2017/1/16 12:30:55 |
1楼: |
2:python,什么啊,需要238秒,知道python的速度慢,但是这个太慢了点。
此帖子包含附件:
大小:31.9K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 12:31:22 |
2楼: |
3:我们中国的中文编程语言 ,易语言,20秒的样子
此帖子包含附件:
大小:12.1K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 12:32:03 |
3楼: |
4:delphi 用D7来编译,好像3.56秒的样子。D7本是WIN32位下面的产物,现在速度慢了点也无关紧要。
此帖子包含附件:
大小:20.8K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 12:32:28 |
4楼: |
5:JAVA,2.63秒的速度,好像并不慢嘛,应该是JAVA根据平台优化的结果。
此帖子包含附件:
大小:24.8K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 12:32:45 |
5楼: |
6:GO语言,速度这么快???
此帖子包含附件:
大小:45.9K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 12:36:13 |
6楼: |
GO
----------------------------------------------
-
|
作者: |
|
2017/1/16 12:39:07 |
7楼: |
感觉这个比较没啥意义,除非在极少数的特定情况可能有意义
----------------------------------------------
SQL SERVER DBA QQ:315054403 曾经的Delphier 缘在上海
|
作者: |
|
2017/1/16 12:44:24 |
8楼: |
楼主您应该再用最新版 测试一下。 也许您会惊奇的发现,呀,更慢了。
下面是我的 I7 3820QM 8G 笔记本的运行结果。和楼主的硬件不同,环境不同,不具备参考价值。
此帖子包含附件:
大小:68.4K |
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
|
2017/1/16 12:58:13 |
9楼: |
I5 5200 12G 笔记本运行效果
此帖子包含附件:
大小:46.8K |
----------------------------------------------
一卡通专家的中专家www.cnduh.com
|
作者: |
|
2017/1/16 13:03:19 |
10楼: |
难道我的 i7 3代 不如 I5 5代,代差真的这么厉害?
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
a5824 (Return) |
★☆☆☆☆ |
-
|
普通会员 |
|
2017/1/16 13:11:04 |
10楼: |
用64位编译!
----------------------------------------------
-
|
作者: |
|
2017/1/16 13:11:12 |
9楼: |
这种写法如果遇到好的编译器会直接把你这种循环的计算结果在编译阶段计算好,循环就没了,变成直接的赋值。 代码等价于sum = XXX; 消除循环是编译器优化的一项基本功能。不同编译器优化的程度不同。
所以结果看起来可能会非常的极端。
----------------------------------------------
武稀松http://www.raysoftware.cn
|
作者: |
|
2017/1/16 13:48:05 |
11楼: |
这对比没啥意义, 我对比过 c java php python go 的1000000 次循环, 结果均差不多, go 也没突出优势
----------------------------------------------
任何事都沒有錶面看起來那麼簡單;
|
作者: |
|
2017/1/16 13:51:32 |
12楼: |
还真是 9 楼是 64BIT 。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
sqlnew (sqlnew) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/1/16 14:33:50 |
13楼: |
单单用循环比较,再循环叠加,这样比较没有意义的。
你可以用vc++自身进行比较,然后空跑一段长循环,什么也不做,或者直接对一个变量赋值,用debug模式和release模式比较,如果用release编译后,你会发现循环根本就没执行,被优化掉了,用debug模式就还存在,这就是编译器优化的结果. 上面的GO语言我怀疑是被优化直接赋值了,我不了解GO,不知道分不分debug或者release, 可以分两个版本调试下结果。
----------------------------------------------
-
|
作者: |
|
2017/1/16 14:52:29 |
12楼: |
1:c#,速度还行,4.3秒。 4:delphi 用D7来编译,好像3.56秒的样子。D7本是WIN32位下面的产物,现在速度慢了点也无关紧要。
4.3秒叫还行,3.56秒叫速度慢点也无关紧要。
不明白楼主想要表达什么。。。
----------------------------------------------
虽千万人吾往矣!
|
作者: |
|
2017/1/16 15:07:41 |
14楼: |
楼上,谁叫DELPHI是小众了,再好也只能说不好。
----------------------------------------------
他们总是取笑失败者,以酷似智者;他们也总是为成功者喝采,以取得赏金。
|
作者: |
|
2017/1/16 20:19:44 |
15楼: |
我的电脑配置,Intel Core(TM)2 Quad CPU Q8400 2.66GHz,3G内存。 使用微软VS2017最新C++编译器,最快运行时间为0.699秒。 使用C++Builder 10.1 Berlin update2,运行时间为0秒,令人震惊
此帖子包含附件:
大小:44.2K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 20:27:29 |
16楼: |
C++Builder 10.1 Berlin 使用LLVM、clang作为词法分析器、编译器,进行了很多优化。
----------------------------------------------
-
|
作者: |
|
2017/1/16 20:28:06 |
16楼: |
@LZ:这个测试案例过于简单,wr960204武大也指出来了,优化得比较狠的编译器可能在编译时就将循环展开直接计算出结果了。 @15楼:C++Builder 是 LLVM back-end,这个零耗时比较可能是编译时已计算出结果了。
如需稍微复杂一点的小测试,请移步 http://www.raysoftware.cn/?p=168 或 http://www.cnblogs.com/ecofast/p/4043873.html
----------------------------------------------
人生若只如初见
|
作者: |
|
2017/1/16 20:50:46 |
17楼: |
使用微软VS2017最新C++编译器编译运行
此帖子包含附件:
大小:17.0K |
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:05:45 |
18楼: |
使用python编程,使用cython进行优化,所需时间近于1.5秒。
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:08:11 |
19楼: |
java就不测试了,上面已有测试实例,对于java,如果使用优化技能,失去了java固有的安全、跨平台优异特性。
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:15:22 |
20楼: |
使用C++,还可以考虑使用并发技能,比如Intel的TBB,余暇时,再进行测试。
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:16:53 |
21楼: |
Intel的最新C++编译器也进行了测试,运行速度略低于微软最新C++编译器
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:22:34 |
22楼: |
使用python编程,使用cython进行优化,使用了微软PPL,所需时间近于0.36秒。
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:29:40 |
23楼: |
使用python编程,使用cython进行优化,使用了Intel的TBB,所需时间近于0.42秒。
----------------------------------------------
-
|
作者: |
|
2017/1/16 21:32:03 |
24楼: |
也不知道如果进行分布式测试,会是什么结果。
----------------------------------------------
-
|
作者: |
|
2017/1/17 9:13:04 |
25楼: |
我的
此帖子包含附件:
大小:47.1K |
----------------------------------------------
-
|
作者: |
aq031 (清风明月) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2017/1/17 9:35:11 |
26楼: |
GO语言专门为后端而生,效率不能太渣啊
----------------------------------------------
-
|
作者: |
|
2017/1/17 11:55:21 |
27楼: |
根本不科学,先把SUM改成运行时输入,比如 Sum:= StrToInt(Edit1.Text);,然后再加一个100次的循环,算出平均执行时间,这样才有意义。
----------------------------------------------
声明:本人不在论坛询问任何编程问题,请不要将我的帖子当成问题来回答。炒股一天,编程三年,不浪费时间了。 经常在外面,没空,不要找我..
|
作者: |
|
2017/1/17 15:07:24 |
28楼: |
易语言用了20多秒。难道是解释型的?
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft有需要错别字检测软件的朋友可以在我博客上的地址下载使用,备注“2ccc”的朋友可以免费获取超级黄金VVVVVVVVVVIP授权
|
作者: |
|
2017/1/17 15:08:28 |
29楼: |
另外20楼说的有理,在没有被优化掉循环的情况下跑一跑
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft有需要错别字检测软件的朋友可以在我博客上的地址下载使用,备注“2ccc”的朋友可以免费获取超级黄金VVVVVVVVVVIP授权
|
作者: |
|
2017/1/31 12:23:59 |
30楼: |
这种比法意义不大,现在都是多线程,多核,并行计算的时代了,比哪个更适合写服务端程序才有意义
----------------------------------------------
-
|
|