亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.NET Integer與Int16?

.NET Integer與Int16?

梵蒂岡之花 2019-12-27 12:48:02
我有一個可疑的編碼實踐。當我需要遍歷數量限制在其下的一小部分項目時32000,我將其Int16用于i變量類型而不是Integer。之所以這樣做,Int16是因為我認為使用相比完全使用效率更高Integer。我錯了嗎?使用Int16vs 之間是否沒有有效的性能差異Integer?我是否應該停止使用Int16并只Integer滿足我所有的計數/迭代需求?
查看完整描述

3 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

根據下面的參考,運行時優化了Int32的性能,并建議它們用于計數器和其他頻繁訪問的操作。

摘自:MCTS自定進度培訓套件(考試70-536):Microsoft?.NET Framework 2.0-應用程序開發基礎

第1章:“框架基礎”
第1課:“使用值類型”

最佳實踐:使用內置類型優化性能

運行時優化了32位整數類型(Int32和UInt32)的性能,因此請將這些類型用于計數器和其他經常訪問的整數變量。

對于浮點運算,Double是最有效的類型,因為這些運算是由硬件優化的。

另外,同一部分的表1-1列出了每種類型的建議用法。與此討論相關:

  • Int16-互操作和其他特殊用途

  • Int32-整數和計數器

  • Int64-大整數


查看完整回答
反對 回復 2019-12-27
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

Int16實際上可能效率較低,因為用于字訪問的x86指令要比用于字訪問的指令占用更多的空間。這將取決于JIT的功能。但不管如何,它幾乎肯定不會為迭代變量使用時有效。


查看完整回答
反對 回復 2019-12-27
  • 3 回答
  • 0 關注
  • 743 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號