我是CS学生,自己学习算法。我现在正在使用的算法必须在功能强大的PC上运行两个月左右,以便提供任何有用的东西,所以处理器效率会产生很大的差异。大部分处理器时间将用于运行具有不同初始值的一个子进程。保留所有处理器资源,核心和高速缓存
理想情况下,我想在单独的线程上运行这些子进程中的几个,为每个线程保留一个核心和一部分缓存大约一个小时。在那个小时之后,我可以让操作系统运行其他进程,并检查用户输入。一旦完成,我想再次保留所有资源一个小时。
是否有一种简单的方法可以做到这一点,如果不是这样做甚至是值得的(性能增加5%-10%是值得加倍的编程时间),如果它值得做,但将很难有什么资源用于计算出来?
我熟悉C++和JAVA可以做C#如果neccessary
什么是你的目标操作系统?鉴于其他情况下的静态机器,这样做的改进可能远低于1%。 –
你确定要在单个问题中询问所有这些语言吗?这太明显了:c#,java和C++是非常不同的,并且有各种技术可以为它们中的每一个处理多线程。 –