我在我的应用程序中有一段时间关键的代码。我将运行它的线程设置为最高优先级 - 这是我能做的最多的。
有没有建议如何使此线程中运行的代码部分尽可能少地被中断(发生更少的上下文切换)?
这段代码并不复杂。我用内联代码替换了所有方法调用,并且没有使用任何高级功能(例如没有使用LINQ)。大多数操作都是算术运算。只有一个字符串比较(我正在考虑如何摆脱它)。一半的数学运算涉及整数,另一半涉及双精度浮点数。
这段代码是x86 .NET 4 C#编写的。在单个Xenon X3450 W2008R2服务器上运行单个应用程序。
(不幸的是,数据来自不支持x64的第三方API(讨厌它!))
我希望和有经验的开发人员进行成熟的讨论。
P.S. 服务器没有页面文件,因此也不会发生硬页错误(没有不需要的IO操作)。