【发布时间】:2010-10-20 13:33:26
【问题描述】:
我正在寻找有关 x86/x64/ia64 上 .NET CLR/JIT 使用的内存模型之间差异的参考。我知道 x86 和 ia64 之间存在一些差异(指令重新排序、指令删除等),但我还没有找到关于 x86 和 x64 之间差异的参考。
我有一个应用程序,它的目标是一些非常严格的延迟数字,并且此时只能在 x86 上运行,也许在 x64 上(肯定不在 ia64 上)。我想知道我是否可以依赖 x86 JIT 实现的一些工件并且在 x64 上仍然相对安全,或者我是否应该对更松散的 ia64 JIT 进行编程(这将需要更多字段是易变的,并且在几个地方)。
提前感谢您的任何指点。
【问题讨论】:
-
如果内存时间很紧,为什么要使用 .net? c++会不会更好?
-
时间紧迫,但开发时间仍然很重要。此外,我们还有许多需要链接到的已开发的 .Net 库。用 C++ 构建这部分并通过 PInvoke 调用它并不是不可能的,但必须通过性能数来证明。在我们“放弃”并走这条路之前,我正在努力让 .Net 代码尽可能好地执行。
标签: .net x86 64-bit memory-model itanium