找回密码
 注册
查看: 824|回复: 3

好的编译器的威力

[复制链接]
发表于 2003-2-7 14:41:55 | 显示全部楼层 |阅读模式
昨天我对一个计算化学的软件做了以下测试,
1. Redhat8.0 + ifc  (intel fortran compiler)
2. Redhat8.0 +g77
3. Windows2000 + 执行文件 (所用编译器不详)
在同一台机器上 (p4-2533, 2G rambus-pc800, ata100 硬盘)
只运行一个任务

结果如下:
   编译器及选项                        执行时间        CPU时间
linux  ifc -O3 -tpp7                     59 "               56.85"
linux  ifc                                     60 "                57.97"
linux  g77 -O3                           112"               112"
linux  g77                                  138"               138"
Windows2k                               108"

可见使用一个好的编译器的重要性, 但对INTEL
编译器优化选项几乎不起作用,可能是代码是F77,
而IFC是F90编译器, 对F77代码做不了大的优化,若是
纯粹的F90 代码, 想必更快.

和IFC一起发布的还有ICC, 因此我想用ICC 来编译LINUX软件, 肯定执行效率更高,但现在很少有LINUX软件能用ICC生成.
发表于 2003-2-7 16:21:14 | 显示全部楼层
有没有考虑内存的问题?

其实说到编译器,也不一定都是Linux下面的好,Pascal在Linux下面的编译器GNU Pascal Compiler 和 Windows下面的编译器Borland Pascal Compiler 一比较你就发现GPC是多么的烂
回复

使用道具 举报

 楼主| 发表于 2003-2-7 17:25:53 | 显示全部楼层

回复

我倒没有说LINUX下编译器比WINDOWS下好的意思.
实际上WINDOWS下编译器多的是,就拿因特尔编译器
(对P4来说, 无论在LINUX还是WINDOWS都是最快的编译器)
来说在两个系统上执行效率差别也很小.

但有一点WINDOWS下的因特尔编译器不免费.
另外一般情况下WINDOWS软件很少自己编译.

我选择LINUX基于以下几点原因,

1. LINUX有好的免费的编译器, FREEBSD没有象样的编译器,
    商业操作系统的编译器太贵.
2. 和UNIX一致的环境, 把调好的程序移植到超级计算机上基本没问题.
3. 很容易实现并列运算.
4. 我的几种软件在WINDOWS上不易运行.
  我的机器24X7开机, 而且不时的远程登陆, 要做到这三点, WINDOWS
  比LINUX困难, WINDOWS若失去易用性就没有优点了.
5. 我对WINDOWS软件没有依赖性, 它的长处在多媒体及游戏,我的要求不高
6. 对两种系统我的熟悉程度没什么差别甚至对LINUX更熟悉一些.
回复

使用道具 举报

发表于 2003-2-8 15:10:10 | 显示全部楼层
长知识,谢谢两位同学 :-)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-25 19:16 , Processed in 0.038416 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表