我正在开发一款需要以高性能运行的软件,我想知道它是否应该作为Windows服务或常规Windows应用程序运行。问题是:在性能方面两者是否有区别?意思是:操作系统调度程序是否会给Windows服务提供比Windows应用程序更多的CPU ticks?Windows服务性能与Windows应用程序性能
0
A
回答
2
要回答这个问题,看Description of Performance Options in Windows:
您可以使用性能选项将Windows设置可以针对任何前台程序或后台服务优化。假设背景服务的数量相对较少,并且在CPU时间更多的情况下效率更高,并且台式计算机上的程序服务器或交互式程序在更短的时间片内效率更高,从而可以更快地响应键盘输入和以服务更多的线程(成千上万的终端服务应用程序服务器模式。
...
成为当您启用前台应用程序选项更为复杂的局面。这将引入“变量量子”的概念。在这个情况下,后台任务的接收量与前台任务接收到的量程不同,而且这两个量程比线程在后台服务设置的计算机上收到的时间要短。 y,后台进程接收3的量程,前台进程接收9的量程。因此,可以计算线程在定时器到期之前将运行的时间长度。
阅读整个链接了解更多详情。 TL/DR:后台服务接收更长的量子。
但是,我非常怀疑你需要担心这个设置。首先,最重要的是,99.9999%的应用程序始终不做任何事情,但等待一些IO完成(磁盘,网络)。除非您在紧密循环中执行算术运算,否则由于所有实际原因,您的代码始终在等待永不运行。助推器不会帮助你。而且我非常怀疑你真的需要部署一个服务,它可以在紧密的环路中执行高CPU。
对于你来说更相关的主题是通过High Performance Windows Programs学习如何在Windows上编写适当的性能程序(即使用IO队列完成状态和朋友)。
而且,如果您需要CPU提升,则只需禁用CPU power savings in BIOS即可。
相关问题
- 1. 在Windows服务器上的Java应用程序的可能性?
- 2. Windows窗体应用程序性能
- 3. 提高Windows应用程序的性能
- 4. Windows Store应用程序 - SwapChainPanel DrawLine性能
- 5. 应用程序服务性能
- 6. Windows 2003和Windows 2008中的Java Web应用程序性能
- 7. 性能在Windows
- 8. C#Web服务与Windows应用程序
- 9. Java与C++:使用Web服务的应用程序的性能
- 10. Windows应用商店应用GridView性能
- 11. Windows服务属性
- 12. 启动Windows服务后Windows Server性能下降。
- 13. Phonegap应用程序性能与原生应用程序性能对比
- 14. 使用Windows Phone应用程序中的图像 - 性能
- 15. Windows CE OpenCV性能
- 16. Windows StretchBlt API性能
- 17. Linux vs Windows性能
- 18. Windows服务高性能和可伸缩性
- 19. Windows“系统服务”,而不是“web服务”性能
- 20. 与Windows服务运行Windows应用程序
- 21. Windows服务与Windows应用程序 - 最佳实践
- 22. Windows服务与Windows窗体应用程序VB.NET
- 23. windows桌面应用程序性能测试工具
- 24. 检查性能的工具/优化ASP.NET Windows应用程序
- 25. .net windows应用程序的性能标准
- 26. 监视Windows 2003/IIS 6.0中的ASP/COM +应用程序性能
- 27. 查找影响.Net应用程序性能的Windows设置
- 28. 性能测试基于Windows /桌面的应用程序
- 29. Windows 2003上的.NET应用程序性能问题
- 30. Windows Forms应用程序的性能测试
优秀的答案。为了增加这一点(尽管我现在找不到参考文献......),无论用户设置如何,服务器和非服务器版本的Windows之间都存在类似的可变量子事物。此外,当然,由于优先级提高对正在发送的事件的影响。 – Damon
@Damon:或许[Windows Vista内核:第1部分](http://technet.microsoft.com/en-us/magazine/2007.02.vistakernel.aspx):'默认情况下,在客户端版本的Windows线程上允许运行多达2个时钟滴答(如果在前台为6个)'(而不是服务器的3和9)。 –
确实,就是这样! :) – Damon