Ruby中的字符串是否有任何性能影響?.gsub和/或.sub方法?字符串#gsub鏈的性能影響?
例如,下面是一個Rails源代碼中爲圖像創建alt標記的方法示例。它刪除文件擴展名和摘要(如果有的話)。
def image_alt(src)
File.basename(src, '.*').sub(/-[[:xdigit:]]{32}\z/, '').capitalize
end
在我的應用程序,我希望它改變下劃線或連字符的空間,所以我想在最後添加一個gsub
方法:
def image_alt(src)
File.basename(src, '.*').sub(/-[[:xdigit:]]{32}\z/, '').gsub(/(_|-)/, ' ').capitalize
end
這是否提高紅旗關於表演還是風格?
從維護的角度來看,我認爲更多的正則表達式,每個正則表達式更小,比單個龐大的正則表達式更好。至於速度,我不確定。 –
嘗試兩種方法並測量性能。或者編寫一個小測試程序並比較實現。真實世界的性能問題通常不在你期望的地方,所以不要過早優化。 –
Ruby包含Benchmark類,它可以很容易地找到這類問題的答案。仔細閱讀示例,撰寫一些測試並在此發佈結果,以便其他人都能學習。 –