前几天,我的一位同事声称使用静态类会导致多核系统出现性能问题,因为静态实例无法在处理器缓存之间共享.是对的吗?是否有一些基准来证明这种说法?这个声明是在.Net开发(与C#)相关的讨论的背景下做出的,但它听起来像是一个语言和环境无关的问题.
谢谢您的意见.
我会推动你的同事获取数据或至少引用.
问题是,如果您有共享数据,那么您就拥有了共享数据.无论是通过静态类,单例,还是其他方式暴露,都不是非常重要.如果您首先不需要共享数据,我希望您不会有静态类.
除此之外,在任何给定的应用程序中,静态类中的共享数据的处理器缓存可能存在更大的瓶颈.
与以往一样,首先编写最合理,可读,可维护的代码 - 然后在遇到性能瓶颈并做出相应操作时解决问题.