2011年5月7日 星期六
2011年1月14日 星期五
18趴的生活隨想
- 最近吵得火熱的18趴新聞,跟錢一些時候聽到的資訊綜合一下:
- 2010/10/23 法國參議院修改通過了爭議性非常高的退休改革法案
- 2010-03-10英國25萬公務員舉行大規模罷工遊行,抗議所謂公務員裁減經濟補償方案
- 先前希臘財政緊縮...bla...bla...bla的新聞
- 早上聽趙少康先生的廣播談到政府預算這麼多年來總是一兆多,國防預算約3000億...blabla...
- 總收入都沒什麼增加的情況下,為求資源有效的運用,支出總要被一筆一筆拿出來檢討.
- 政府此項支出,從目前的幾百億遞增到將來最高點1000多億.(參考資料: 中國時報 - 回歸制度面談十八趴改革) ...bla...bla...bla...
- 克魯曼專欄/德州奇蹟幻滅 敲響美國警鐘 / 美聯儲不會仿效歐央行救助美國州和地方政府
- 俄羅斯總統簽署命令裁減至少20%公務員
- 能說這只是當下潮流,這麼作只是順勢而為嗎? 減少公部門支出,是此時各國的趨勢嗎?
- 中國?
- 日本?
- 其他國家?
- 政府支出減少 > 民間消費減少 > ...bla...bla...bla... 循環
- 這是一個怎樣的趨勢?
2010年1月30日 星期六
2009年9月16日 星期三
有一個for迴圈,從0加到100 可是我覺得他不夠快,要怎樣才能讓他更快
for( i=0; i<=100; i++) s=s+i;
不可以用數學公式 請忽略宣告或初始化的問題
以下是其中幾位工程師的看法:
Leadgen:
Firmware 是介於不軟和不硬間,必需知道你所對待的硬體的能力和軟體的需求。
思考點: 1.減少loop overhead I: unrolling II: algorithm
2.充分利用硬體特性 I:加減1有特殊硬體 II:和0比較有特殊硬體
for(i=100;i>=0;i--)
s += i;
這個會比你上面還快。 配合unrolling,會更快。
Key: 請想一下上面的code怎麼翻成組合語言? 為什麼要寫成遞減?
MasterChang
int i=100;
int result=0;
while(i)
{
result+=i--;
}
這類問題通常是考連加問題,因為連加的物件不見得是0~100,有
可能是連續位址的值。C語言用while loop 去做數值遞減(ex:組語
的dec reg),並檢查C旗標或Z旗標等變化編譯的組語命令在一循環
下,會比單一用遞增命令(ex:組語inc reg)去檢查是否為某一值少
。因為檢查某一值常編譯出來是減去其值是否為零驗證,否而需要
較多的組語命令。
所以這類問題的解法通常要從組語觀念著手探討,考官要考您有無
這類觀念,但學校通常「不會教」。
for( i=0; i<=100; i++) s=s+i;
不可以用數學公式 請忽略宣告或初始化的問題
以下是其中幾位工程師的看法:
Leadgen:
Firmware 是介於不軟和不硬間,必需知道你所對待的硬體的能力和軟體的需求。
思考點: 1.減少loop overhead I: unrolling II: algorithm
2.充分利用硬體特性 I:加減1有特殊硬體 II:和0比較有特殊硬體
for(i=100;i>=0;i--)
s += i;
這個會比你上面還快。 配合unrolling,會更快。
Key: 請想一下上面的code怎麼翻成組合語言? 為什麼要寫成遞減?
MasterChang
int i=100;
int result=0;
while(i)
{
result+=i--;
}
這類問題通常是考連加問題,因為連加的物件不見得是0~100,有
可能是連續位址的值。C語言用while loop 去做數值遞減(ex:組語
的dec reg),並檢查C旗標或Z旗標等變化編譯的組語命令在一循環
下,會比單一用遞增命令(ex:組語inc reg)去檢查是否為某一值少
。因為檢查某一值常編譯出來是減去其值是否為零驗證,否而需要
較多的組語命令。
所以這類問題的解法通常要從組語觀念著手探討,考官要考您有無
這類觀念,但學校通常「不會教」。
2008年11月30日 星期日
2008年11月26日 星期三
訂閱:
文章 (Atom)
