下午好,IEnumerable的<T>和「收益率回報」的性能問題
我寫一個簡單的詞法分析器基本上是的this one修改後的版本。獲得每個令牌後,我需要進行輕微的修改並重新分析以重新檢查它的類型。另外,當然,在詞法分析之後,我需要重新使用整個令牌列表來對其進行「解析」。我的問題是,如果在詞法分析器中使用IEnumerable<Token>
和yield return
語句可以使整個程序的性能變得更慢......使用List<Token>
來迭代構建列表並使用正常的return
語句會更好嗎?迭代IEnumerable
/List
怎麼樣?哪一個更快?
非常感謝。
嘗試對代碼進行基準測試...不要犧牲可感知的性能改進的可讀性 – 2010-11-23 14:43:55