除了耗电、温度高点,基本没什么损耗(否则CPU设计也太差了。)不过一个程序长达8小时运行占100%CPU,那么该考虑优化算法了

解决方案 »

  1.   

    那你设计程序的时候考虑过1个小时让CPU停下休息10分种好了。
      

  2.   

    肯定损耗大,100%工作的情况直接导致高热耗,最直接是对CPU和风扇的损耗
      

  3.   

    public int minDistance()
            {
                
                int lengh = inputVector.Length;
                int Top = lengh + 1;
                char[] allZeros = new char[lengh];
                char[] allOnes = new char[lengh];
                char[] tempV0;//the run 1 vector
                char[] tempV1;//the run 1 vector
                char[] midV0;// the run 2 vectors
                char[] midV1;// the run 2 vectors
                //initialzie the allones and allzeros vector
                for (int i = 0; i < allZeros.Length; i++)
                {
                    allZeros[i] = '0';
                    allOnes[i] = '1';
                }
                int Top0 = CommonFunctions.HammingDistanceBetween2CharV(allZeros, inputVector);
                int Top1 = CommonFunctions.HammingDistanceBetween2CharV(allOnes, inputVector);
                Top = Top0 > Top1 ? Top1 : Top0;
                for (int i = 1; i < allOnes.Length - 1; i++)
                {
                    tempV0 = CommonFunctions.frontInverse(allZeros, i);
                    Top0 = CommonFunctions.HammingDistanceBetween2CharV(tempV0, inputVector);
                    tempV1 = CommonFunctions.frontInverse(allOnes, i);
                    Top1 = CommonFunctions.HammingDistanceBetween2CharV(inputVector, tempV1);
                    int TopTemp = Top0 > Top1 ? Top1 : Top0;
                    Top = Top > TopTemp ? TopTemp : Top;
                    for (int t = i + 1; t < allZeros.Length; t++)
                    {
                        midV0 = CommonFunctions.backInverse(tempV0, t);
                        midV1 = CommonFunctions.backInverse(tempV1, t);
                        Top0 = CommonFunctions.HammingDistanceBetween2CharV(midV0, inputVector);
                        Top1 = CommonFunctions.HammingDistanceBetween2CharV(midV1, inputVector);
                        TopTemp = Top0 > Top1 ? Top1 : Top0;
                        Top = Top > TopTemp ? TopTemp : Top;
                    }
                }
                int TopTemp1;
                tempV0 = CommonFunctions.frontInverse(allZeros, lengh-1);
                Top0 = CommonFunctions.HammingDistanceBetween2CharV(tempV0, inputVector);
                tempV1 = CommonFunctions.frontInverse(allOnes, lengh - 1);
                Top1 = CommonFunctions.HammingDistanceBetween2CharV(inputVector, tempV1);
                TopTemp1 = Top0 > Top1 ? Top1 : Top0;
                Top = Top > TopTemp1 ? TopTemp1 : Top;
                return Top;
            }代码如上,怎么可以优化阿
      

  4.   

    CPU应该没啥损害
    循环体内加1句System.Threading.Thread.Sleep(毫秒数),让他睡一下好了
      

  5.   

    听说来个SLEEP(1)能降低不少CPU