标签: cpu-speed

在模拟的低内存,慢速CPU环境中运行我的应用程序

我想以这种方式对我的应用程序进行压力测试,因为它似乎在一些非常老的客户机中失败了.

起初我读了一些关于QEmu的内容并考虑了硬件仿真,但这似乎是一个很长的镜头.我在超级用户那里问过,但是还没有收到太多反馈.

所以我转向你们......你们这样的测试怎么样?

language-agnostic simulation low-memory cpu-speed

8
推荐指数
1
解决办法
5637
查看次数

多线程是否可以提高性能?怎么样?

我听到大家都在谈论多线程如何提高性能.我不相信这一点,除非有我遗漏的东西.如果我有一个包含100个元素的数组并且遍历它需要6秒.当我在两个线程之间划分工作时,处理器将不得不经历相同的工作量和时间,除了它们同时工作但速度只有一半.不应该多线程使它更慢?既然您需要额外的工作分割说明吗?

performance multithreading cpu-speed

8
推荐指数
2
解决办法
2万
查看次数

为什么我的(更强)桌面上的R慢于我(弱)笔记本电脑上的R?

我使用的Dell Latitude E7440 笔记本电脑与Windows 7企业OS,8GB RAM,64位操作系统,英特尔(R)核心(TM)i7-4600U CPU @ 2.10GHz处理器,2701兆赫,2个核,4个逻辑处理器(那是4个核心).

我使用的是Dell Precision塔式7810 桌面与Windows 7企业版操作系统,32GB的RAM,64位操作系统,英特尔(R)至强(R)CPU E5-2620 V3 @ 2.40GHz的2个处理器,2401兆赫,6个核心,12逻辑处理器(24核).

我使用R的一个很好的演示是使用gbmRStudio在具有约300个特征的100K大小的数据上运行二进制分类.但无论我在我的笔记本电脑R版本(所有其他软件关闭,不使用并行化)上做什么,都比我的桌面R版本快得多.怎么可能?我需要做些什么才能找到答案?

笔记本电脑:

> sum <- 0; system.time(for (i in 1:1000000) sum <- sum + i)
   user  system elapsed 
   0.36    0.00    0.36 
> memory.limit()
[1] 8097
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United …
Run Code Online (Sandbox Code Playgroud)

hardware r cpu-speed

8
推荐指数
1
解决办法
502
查看次数

优化代码是否变得不必要?

如果摩尔定律成立,并且CPU/GPU变得越来越快,那么软件(以及协会,您的软件开发人员)是否仍然会在您仍然需要优化代码的范围内突破界限?或者一个天真的因子解决方案是否足以满足您的代码(等)?

optimization performance gpu cpu-speed moores-law

7
推荐指数
8
解决办法
922
查看次数

我需要调用单个进程的准确CPU使用率

特技是我还需要能够在多核机器上完成.我在C#的教育有点破碎.我已经管理了以下代码.谁能帮我吗?我尝试使用"_Total"标志,我尝试修改一些其他代码片段,看起来他们试图检测核心数量.我被告知他们不包括HT,只支持物理非逻辑处理器.我试图让它做到这两点.显然他们是一种手动执行此操作的方法

    ("Process", "% Processor Time", "1" process.ProcessName))
    ("Process", "% Processor Time", "2" process.ProcessName))
    ("Process", "% Processor Time", "3" process.ProcessName))
Run Code Online (Sandbox Code Playgroud)

但是,如果内核不存在,我发现硬件不起作用.我希望我能遇到更灵活的事情.我一直在研究这几天几小时,我要把头发拉出来.

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Threading;
using System.Collections;
using System.IO;

namespace Program_CPU_Monitor
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamWriter log;
            log = File.AppendText("c:\\CPUMON.txt");
            log.WriteLine("");
            log.WriteLine("**Started logging Program CPU Monitor (2.6.0.63)**");
            log.Close();
            Console.Title = "Program CPU Monitor 2.6.0.63";
            Console.WriteLine("Monitoring Program CPU & Memory usage...(1-min intervals)");
            Console.WriteLine("Monitoring will start when Program is detected as running."); …
Run Code Online (Sandbox Code Playgroud)

c# console multicore cpu-speed

7
推荐指数
1
解决办法
1万
查看次数

如何在Intel Xeon E5-2690的GFlop/s中获得峰值性能?

我能够在此处理器比较中找到Xeon E5-2690的理论DP峰值性能371 GFlop/s (有趣的是,在英特尔的竞争对手中比在英特尔支持页面本身更容易找到此信息).但是,当我尝试推导出峰值性能时,我的推导不匹配:

  1. Xeon E5-2690的每个核心的频率(在Turbo模式下)= 3.8Ghz
  2. 处理器可以在每个周期执行addmul操作,因此我们得到:3.8 x 2 = 7.6
  3. 鉴于它具有AVX支持,它可以在每个周期执行4次双重操作:7.6 x 4 = 30.4
  4. 最后,它有8个核心,因此我们得到:8 x 30.4 = 243.2

因此,Gflop/s的峰值性能为243.2 GFlop/s而不是371 GFlop/s?

cpu performance cpu-speed

7
推荐指数
1
解决办法
1万
查看次数

为什么cpu绑定更好,阻塞I/O和I/O绑定更好,非阻塞I/O.

有人告诉我,对于I/O绑定的应用程序,非阻塞I/O会更好.对于CPU绑定应用程序,阻塞I/O要好得多.我找不到这种说法的理由.试过谷歌,但很少有文章只涉及这个话题没有太多细节.有人可以提供深度理由吗?

有了这个,我想清楚自己,非阻塞I/O的缺点是什么.

通过另一个线程会后在这里,一个原因,我可能涉及在外面是如果I/O过程是沉重得那么只有我们使用非阻塞I/O可以看到显著的性能提升.它还指出,如果I/O操作的数量很大(典型的Web应用程序场景),其中有许多请求寻找I/O请求,那么我们也看到使用非阻塞I/O的重大改进.

因此,我的问题归结为以下列表:

  1. 在CPU密集型应用程序的情况下,最好是启动线程池(或scala的executionContext)并在线程池的线程之间划分工作.(我想它肯定比产生自己的线程和手动划分工作更有优势还使用asyn未来概念,甚至可以使用回调返回CPU密集型工作,从而避免与阻塞多线程相关的问题?).此外,如果存在足够快的I/O,则使用线程池本身的线程上的阻塞原则来执行I/O. 我对吗?

  2. 在技​​术上使用非阻塞I/O实际上有什么缺点或开销?如果I/O足够快或者需要的I/O操作非常少,为什么我们看不到使用非阻塞I/O会带来多大的性能提升?最终它是处理I/O的操作系统.无论I/O的数量是大还是小,让操作系统处理这种痛苦.是什么让这里有所不同.

nonblocking blocking cpu-speed

7
推荐指数
1
解决办法
1069
查看次数

如何解决cpufreqset错误

我想改变CPU频率。我已经安装了 cpufrequtils。命令“ cpufreq-info”给我信息

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 2.40 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.20 GHz and 2.40 GHz.
                  The governor "performance" may decide which speed to use …
Run Code Online (Sandbox Code Playgroud)

kernel driver frequency cpu-speed

6
推荐指数
2
解决办法
8985
查看次数

在 Python 中向字典添加键或向列表追加值更快吗?

我有一个应用程序,我需要构建列表或字典,速度很重要。通常我只会声明一个适当长度的零列表并一次分配一个值,但我需要能够检查长度并使其仍然有意义。

将键值对添加到字典或将值附加到列表会更快吗?列表和字典的长度通常很小(小于 100),但这并不总是正确的,在最坏的情况下可能会更大。

如果这两个操作都太慢,我也可以用一个变量来跟踪我在列表中的位置。

python performance cpu-speed

6
推荐指数
1
解决办法
9777
查看次数

改变树莓派的时钟速度(underclock)

我一直在尝试研究在多核系统开发项目中更改 Raspberry Pi 中时钟速度的影响。在这方面,我必须更改 Raspberry Pi 3 的时钟频率。

据我从互联网上读到,Raspberry Pi 使用动态缩放来调整其时钟速度。即当负载低于100%时,时钟速度为600Mhz,当负载为100%时,它切换到1.2Ghz以提供更好的性能。

到目前为止,我已经获得了以下信息,但还没有能够为 Raspberry Pi 设置恒定的时钟频率:

1- 使用 cpufrequutils 包,

cpufreq-set -g userspace
cpufreq-set -f 1.2Ghz
Run Code Online (Sandbox Code Playgroud)

cpufreq-info 查看结果

2- 设置通过 /boot/config.txt

arm-freq=800
Run Code Online (Sandbox Code Playgroud)

3-写入内核文件,例如:

echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Run Code Online (Sandbox Code Playgroud)

我还没有理解这三种方法之间的确切区别,也无法设置恒定频率。由于树莓派3默认只能在600Mhz和1.2Ghz之间切换,所以当我通过cpufreq-info查看cpu当前的时钟速度时,我看到的是600Mhz或1.2Ghz。

如何设置600Mhz和1.2Ghz以外的不同频率,比如把这些值改成750Mhz-1000Mhz或者干脆做成750Mhz-750Mhz;在这方面,无需编译新内核。

如果有任何关于问题的缺失信息,请在下面评论,我会尽力提供。

非常感谢任何帮助。

干杯,

linux cpu-speed

6
推荐指数
0
解决办法
8506
查看次数