我读了 Cwalina 书(有关 .NET 应用程序开发和设计的建议)。
他说,一个设计良好的结构体的大小必须小于 16 个字节(出于性能目的)。
到底是为什么呢?
而且(更重要的是)如果我运行 .NET 3.5(很快将成为 .NET 4.0),我可以拥有更大的结构并具有相同的效率吗?64 位应用程序Core i7 https://en.wikipedia.org/wiki/Intel_Core#Core_i7在 Windows 7 x64 下(这个限制是基于CPU/操作系统的吗)?
只是再次强调 - 我需要尽可能高效的结构。我尝试始终将其保留在堆栈中。该应用程序是多线程的,并且以亚毫秒间隔运行,并且该结构的当前大小为 64 字节。
您错误地引用了这本书(至少是第二版)。 Jeffrey Richter 指出,如果满足以下条件,值类型可以超过 16 个字节:
您不打算将它们传递给其他人
方法或将它们复制到或从
集合类。
另外 Eric Gunnerson 补充道(关于 16 字节限制)
使用本指南作为触发因素
更多调查。
结构体“大小必须小于 16 个字节”是不正确的。这一切都取决于使用情况。
如果您正在创建结构并使用它并且担心性能,那么请使用探查器比较结构与类,看看哪个最适合您。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)