标签: cpu-speed

CPU利用率

Q1.编写不消耗CPU但仍能获得出色性能的代码的最佳实践是什么?这个问题非常通用.我在这里寻求的是列出用于不同环境的不同实践?除了进程监视器/任务管理器之外的调试技巧

编辑:我不是在谈论IO绑定进程.我说的是CPU绑定过程.但是,在这里我不希望我的进程继续占用CPU.如果我有一台4核机器,并且如果我在一个过程中运行四个简单的循环,则CPU消耗量最多可达到400%,直到应用程序/进程运行.

我在这里寻求一些关于这个话题的经验,每个人都会遇到一些时间或其他.例如,一旦应用程序在Windows上占用CPU,我就会调试它,因为它不断循环搜索不存在的文件.

如何以两种不同的CPU绑定应用程序顺利运行(给出良好响应)的方式编写程序?

更新: 建议:

  1. 写好干净的代码,然后配置您的应用程序,然后进行优化.(感谢提示)

  2. 重写/重新设计/重构代码比分析和修复代码更容易.

  3. 使用分析器调试您的应用程序

  4. 对于长时间等待的线程,请勿使用自旋锁

  5. 算法选择

这些建议对初学者理解概念有很大帮助.

performance cpu-usage cpu-speed

1
推荐指数
3
解决办法
1288
查看次数

测量c ++中popcount函数的时间

我感兴趣的是如何把它放在循环中,以便获得cpu执行每个不同操作的实时时间

#include<iostream>
#include<cstdlib>
#include<time.h>

using namespace std;
typedef unsigned __int64 uint64;
const uint64 m1=0x5555555555555555;
const uint64 m2=0x3333333333333333;
const uint64 m4=0x0f0f0f0f0f0f0f0f;
const uint64 m8=0x00ff00ff00ff00ff;
const uint64 m16=0x0000ffff0000ffff;
const uint64 m32=0x00000000ffffffff;
const uint64 hff=0xffffffffffffffff;
const uint64 h01=0x0101010101010101;

uint64 popcount_1(uint64 x)
{
    x=(x&m1)+((x>>1)&m1);
    x=(x&m2)+((x>>2)&m2);
    x=(x&m4)+((x>>4)&m4);
    x=(x&m8)+((x>>8)&m8);
    x=(x&m16)+((x>>16)&m16);
    x=(x&m32)+((x>>32)&m32);
    return (uint64)x;
}

//This uses fewer arithmetic operations than any other known
//implementation on machines with slow multiplication.
//It uses 17 arithmetic operations.
int popcount_2(uint64 x)
{
    x-=(x>>1)&m1;//put count of each 2 bits into those …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm bit cpu-speed

0
推荐指数
1
解决办法
1588
查看次数

为什么 a / (b*c) 在 Python 中(以及一般情况下)比 a / b / c 慢?

在为神经网络库编写一些数学导数函数时,我偶然发现了一个有趣的优化问题。事实证明,与大值a / (b*c)相比a / b / c,表达式需要更长的时间来计算(见timeit下文)。但由于这两个表达式是相等的:

  • Python 不应该在低端以相同的方式进行优化吗?
  • 是有一个情况a / (b*c),因为它似乎是慢?
  • 或者我错过了什么,而两者并不总是平等的?

提前致谢 :)

In [2]: timeit.timeit('1293579283509136012369019234623462346423623462346342635610 / (52346234623632464236234624362436234612830128521357*32189512234623462637501237)')
Out[2]: 0.2646541080002862

In [3]: timeit.timeit('1293579283509136012369019234623462346423623462346342635610 / 52346234623632464236234624362436234612830128521357 / 32189512234623462637501237')
Out[3]: 0.008390166000026511
Run Code Online (Sandbox Code Playgroud)

python math performance cpu-speed

0
推荐指数
1
解决办法
125
查看次数

何时在C#中声明有关效率/速度的变量

我正在运行一些完全为效率而构建的实现.我对这个主题还不是很有经验,并且想知道何时最好地声明变量.我的代码的以下部分特别是:

//Variables not declared in the next part are declared here (like xx, y1, x1.....)
    for(s = 0; s < this.Width; s++)
        {
            y = ymin;
            for(z = 0; z < this.Height; z++)
            {
                x1 = 0;
                y1 = 0;
                looper = 0;
                while(looper < curMaxIter && Math.Sqrt((x1 * x1) + (y1 * y1)) < 2)
                {
                    looper++;
                    xx = (x1 * x1) - (y1 * y1) + x;
                    y1 = 2 * x1 * y1 + y;
                    x1 = …
Run Code Online (Sandbox Code Playgroud)

c# variables performance declaration cpu-speed

-2
推荐指数
1
解决办法
91
查看次数

标签 统计

cpu-speed ×4

performance ×3

algorithm ×1

bit ×1

c# ×1

c++ ×1

cpu-usage ×1

declaration ×1

math ×1

python ×1

variables ×1