我的应用程序中有一段对时间要求严格的代码。我将运行它的线程设为最高优先级——这是我能做的最多的事情。
关于如何使该线程中运行的部分代码尽可能少地被中断(发生较少的上下文切换)有什么建议吗?
代码并不复杂。我用内联代码替换了所有方法调用,并且没有使用任何高级别的东西(比如没有 LINQ)。大多数运算是算术运算。字符串只有一个比较(我正在考虑如何摆脱它)。一半的数学是整数,一半是双精度数。
代码是 x86 .NET 4 C#。在单个 Xenon X3450 W2008R2 上运行。单一应用服务器。
(不幸的是,数据来自不支持 x64 的 3d 派对 API(讨厌它!))
我很感激与经验丰富的开发人员进行成人讨论。
PS 服务器没有分页文件,因此也不会发生硬页面错误(没有不需要的 IO 操作)。