《五个 .NET 性能小贴士》 https://mp.weixin.qq.com/s/PqZSAjenNS84XZ9N2pYfkw
《5 Performance Tips For .Net Developers》 https://hackernoon.com/5-performance-tips-for-net-developers-q03w356w?utm_content=buffer8ad81&utm_medium=social&utm_source=linkedin.com&utm_campaign=buffer
性能比较
1.字符串拼接(string与StringBuilder)
StringBuilder比string快,数据量越大差异越明显,2X以上。
2.动态集合与固定大小集合(如List,Dict,HashSet)
固定大小初始化比动态初始化快,2X以上。
3.数组与ArrayPool
短时大数组,频繁使用及回收的场景。ArrayPool比常规数组快,20X以上。
4.struct与class
垃圾回收时,struct比class快,7X以上。
注意使用场景,struct不能完全替代class。
5.ConcurrentQueue与ConcurrentBag
ConcurrentBag为特殊场景设置,无特别原因,一般用ConcurrentQueue。
ConcurrentQueue比ConcurrentBag快,1.5X以上。