[討論] 哪一種寫法對cpu比較好?

看板Fortran作者 (祈)時間15年前 (2009/10/04 14:11), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
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

10/04 14:53, , 1F
請問x(:)是?
10/04 14:53, 1F

10/04 15:09, , 2F
10個數字
10/04 15:09, 2F

10/04 16:56, , 3F
好像是一樣 (處理次數一樣) 也許啦......有待帥哥解答
10/04 16:56, 3F

10/04 17:00, , 4F
cpu耗資源跟減少處理時間不知道是不是一樣的概念
10/04 17:00, 4F

10/04 17:01, , 5F
減少時間需要聰明的編譯器或是聰明的撰寫方法
10/04 17:01, 5F

10/04 17:02, , 6F
編譯器聰明的話就可以用簡單的寫法讓編譯器去TRY出最佳
10/04 17:02, 6F

10/04 17:03, , 7F
的成果 反之編譯器不聰明的話就必須用人腦的方式找出最
10/04 17:03, 7F

10/04 17:03, , 8F
佳化寫法
10/04 17:03, 8F

10/05 04:59, , 9F
可以把程式寄給我測試嗎?
10/05 04:59, 9F
文章代碼(AID): #1Ao3o1rI (Fortran)
文章代碼(AID): #1Ao3o1rI (Fortran)