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

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

.NET異常有多慢?

.NET異常有多慢?

白衣非少年 2019-07-19 18:34:29
.NET異常有多慢?我不想討論什么時候要和不要拋出異常。我想解決一個簡單的問題。99%的情況下,不拋出異常的爭論圍繞著它們是緩慢的,而另一方則聲稱(通過基準測試)速度不是問題。我讀過許多博客,文章,以及關于一方或另一方的文章。那是哪一個?
查看完整描述

3 回答

?
猛跑小豬

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

我站在“不慢”的一邊-或者更確切地說,“不夠慢,不值得在正常使用中避開它們”。我寫了兩個矮的?文章關于這件事。對于基準測試方面有一些批評,主要是因為“在現實生活中會有更多的堆棧需要通過,所以您會銷毀緩存等”-但是使用錯誤代碼在堆棧上工作打開緩存,所以我不認為這是一個特別好的論點。

我不支持在不符合邏輯的情況下使用異常。例如,int.TryParse完全適合于從用戶轉換數據。當讀取機器生成的文件時,這是適當的,因為失敗意味著“文件沒有按其應有的格式,我真的不想嘗試處理這個問題,因為我不知道還有什么問題?!?/p>

當在“只有合理的情況下”使用異常時,我從未見過有一個應用程序的性能受到異常的嚴重損害?;旧?,除非您有重大的正確性問題,否則異常不應該經常發生,如果您有重大的正確性問題,那么性能不是您面臨的最大問題。


查看完整回答
反對 回復 2019-07-19
?
慕妹3242003

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

(警告2-它寫得很好,如果你是一個技術人員,你會讀到最后,然后必須彌補你的工作時間:)

執行摘要:進展緩慢。它們被實現為Win 32 SEH異常,因此有些甚至會通過環形0 CPU邊界!顯然,在現實世界中,你會做很多其他的工作,所以奇怪的例外將不會被注意到,但如果你使用他們的程序流,除了你的應用程序被錘擊。這是MS營銷機器對我們不利的又一個例子。我記得有一個Microsoftie告訴我們,他們是如何產生絕對零開銷的,這完全是亂七八糟的。

克里斯引用了一句中肯的話:

事實上,即使在引擎的非托管部分,CLR也在內部使用異常。但是,除了例外情況外,還有一個嚴重的長期性能問題,這必須在您的決定中考慮到。


查看完整回答
反對 回復 2019-07-19
  • 3 回答
  • 0 關注
  • 438 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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