作者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