作者magaiml (祈)
看板Fortran
标题[讨论] 哪一种写法对cpu比较好?
时间Sun Oct 4 14:11:10 2009
As title,
假设一种状况
10个号码 integer int_temp(10)
范围 001~100
分成10行 logical log_temp(10)
001 002 003 004 005 006 007 008 009 010
011 ... ... ... ... ... ... ... ... 020
021 ... ... ... ... ... ... ... ... 030
... ...
... ...
...
091 ... ... ... ... ... ... ... ... 100
第一种就是土法链工法
if(x(1).eq.1.or.x(1).eq.11.or. ... ... x(1).eq.91)log_temp(1)=.ture.
if(x(1).eq.2.or.x(1).eq.12.or. ... ... x(1).eq.92)log_temp(2)=.ture.
...
...
...
if(x(1).eq.10.or.x(1).eq.20.or. ... ... x(1).eq.100)log_temp(10)=.ture.
... x(2)
... x(3)
...
...
... x(10)
第二种就是利用do下去改写
让撰写者经过思考把拢长的判断式放入do回路内
试问,
这两种方法
哪一种对於cpu会比较好?
换句话来说
哪一种比较不消耗cpu资源?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.175.227.178
1F:→ YCTzeng:请问x(:)是? 10/04 14:53
2F:→ magaiml:10个数字 10/04 15:09
3F:→ charlesdc:好像是一样 (处理次数一样) 也许啦......有待帅哥解答 10/04 16:56
4F:→ charlesdc:cpu耗资源跟减少处理时间不知道是不是一样的概念 10/04 17:00
5F:→ charlesdc:减少时间需要聪明的编译器或是聪明的撰写方法 10/04 17:01
6F:→ charlesdc:编译器聪明的话就可以用简单的写法让编译器去TRY出最佳 10/04 17:02
7F:→ charlesdc:的成果 反之编译器不聪明的话就必须用人脑的方式找出最 10/04 17:03
8F:→ charlesdc:佳化写法 10/04 17:03
9F:→ YCTzeng:可以把程式寄给我测试吗? 10/05 04:59