标签: processors

32位和64位处理器有什么区别?

我一直在尝试阅读32位和64位处理器(http://en.wikipedia.org/wiki/32-bit_processing).我的理解是32位处理器(如x86)具有32位宽的寄存器.我不确定这意味着什么.所以它有特殊的"内存空间",可以存储最多2 ^ 32的整数值?

我不想听起来很愚蠢,但我不知道处理器.我假设64位通常优于32位.虽然我的电脑现在(一年前,Win 7,Intel Atom)有一个32位处理器.

hardware 64-bit 32-bit processors 32bit-64bit

39
推荐指数
5
解决办法
6万
查看次数

设置线程池的理想大小

有什么区别 -

newSingleThreadExecutor vs newFixedThreadPool(20)

从操作系统和编程的角度来看.

每当我运行我的程序使用newSingleThreadExecutor我的程序工作得很好,端到端延迟(第95百分位)出现5ms.

但是一旦我开始运行我的程序 -

newFixedThreadPool(20)

我的程序性能下降,我开始看到端到端延迟37ms.

所以现在我试图从架构的角度来理解这里有多少线程意味着什么?以及如何确定我应该选择的最佳线程数?

如果我使用更多的线程,那会发生什么?

如果有人能用外行语言向我解释这些简单的事情那么这对我来说非常有用.谢谢您的帮助.

我的机器配置规范 - 我从Linux机器运行我的程序 -

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
stepping        : 7
cpu MHz         : 2599.999
cache size      : 20480 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading cpu-cores processors

25
推荐指数
3
解决办法
3万
查看次数

availableProcessors()为双核手机返回1

我最近买了一台Moto Atrix 2手机.当我试图查看手机中的处理器规格时,Runtime.getRuntime().availableProcessors()返回1./proc/cpuinfo也有关于处理器0的信息.

出于好奇,我在朋友的三星Galaxy S2中检查了同样的信息,这也是一款双核手机.这也表明没有.核心是1.

我在我的Moto xoom平板电脑中检查了同样的内容,这也是双核心.这次availableProcessors()返回2,cpuinfo也有处理器0和处理器1的详细信息.

我很迷惑.为什么有些设备带有不同的信息 有人可以解释这个异常吗?

java performance android processors

11
推荐指数
1
解决办法
1971
查看次数

为什么Windows在处理器之间切换进程?

如果单个线程进程繁忙且使用100%的单核,则看起来Windows正在核心之间切换此进程,因为在任务管理器核心概述中,所有核心都是相同的.

为什么Windows会这样做?这不是破坏L1/L2缓存吗?

windows process processors

10
推荐指数
1
解决办法
1270
查看次数

处理器实际上计算乘以零或一?为什么?

简短版

在以下行中:

aData[i] = aData[i] + ( aOn * sin( i ) );
Run Code Online (Sandbox Code Playgroud)

如果aOn0或者1,处理器是否实际执行乘法,或者它是否有条件地计算出结果(0for 0,other-value for 1)?

长版

我正在研究算法性能的一致性,这部分涉及到分支预测的影响.

假设是这段代码:

for ( i = 0; i < iNumSamples; i++ )
    aData[i] = aData[i] + ( aOn * sin( i ) );
Run Code Online (Sandbox Code Playgroud)

将提供比此代码更稳定的性能(分支预测可能会破坏性能):

for ( i = 0; i < iNumSamples; i++ )
{
    if ( aOn )
        aData[i] = aData[i] + sin( i );
}
Run Code Online (Sandbox Code Playgroud)

aOn是 …

c c++ algorithm performance processors

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

在Windows下使用C++计算处理器

在Windows平台上使用非托管C++,是否有一种简单的方法来检测我的主机所具有的处理器核心数量?

c++ processors

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

MPI处理器数量?

以下是我在MPI中的代码,我在核心i7 CPU(四核)上运行它,但问题是它显示它在1个处理器CPU下运行,必须是4.

int main(int argc, char *argv[])
{
    int rank, size;

    MPI_Init(&argc, &argv);

    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);

    printf("Hello world! I am %d of %d\n", rank, size);

    MPI_Finalize();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想知道问题是MPI库还是其他问题?

以下结果显示:

Hello world! I am 0 of 1
Run Code Online (Sandbox Code Playgroud)

附加信息:Windows 7 - Professional x64

mpi processors

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

Java:JVM可用的核心?

在Java中,有的方法Runtime.getRuntime().availableProcessors()有以下Javadoc:

返回Java虚拟机可用的处理器数.在特定的虚拟机调用期间,此值可能会更改.

价值如何实际改变?在什么情况下,JVM可用的处理器比物理安装的处理器少?

乔纳斯

java jvm core processors

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

多线程应用程序实际上是否比单线程应用程序更快?

一切都完全是理论上的,这个问题刚想到,我不完全确定答案是什么:

假设您有一个计算4个独立计算的应用程序.(完全独立,无论你做什么顺序并且你不需要计算另一个).还假设这些计算是长(分钟)和CPU绑定(不等待任何类型的IO)

1)现在,如果你有一个1处理器的计算机,单个线程应用程序在逻辑上会比多线程应用程序更快(或相同).由于计算机无法使用一个处理器一次做多件事,因此会浪费时间进行上下文切换等.到现在为止还挺好?

2)如果你有一台4处理器的计算机,4线程的速度通常比单线程更快.对?您的计算机现在可以一次执行4个操作,因此将您的应用程序划分为4个线程是合乎逻辑的,并且它应该以4个计算中最长的时间完成.到目前为止仍然很好?

3)现在我感到困惑的实际部分 - 为什么我的应用程序创建的线程数多于可用的处理器数量(实际上是核心数)?我已经编程并且已经看到了创建数十个和数百个线程的应用程序,但实际上 - 对于普通计算机来说,完美的数字大约为8?

PS我已经读过这个:线程与单线程 但没有安静的回答.

干杯

multithreading cpu-cores processors

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

将NiFi连接到ElasticSearch

我正在尝试解决一项任务,并会感谢任何帮助 - 文档链接,论坛链接或其他常见问题解答,除https://cwiki.apache.org/confluence/display/NIFI/FAQs,或任何有意义的答案这篇文章=).

所以,我有以下任务:我的系统的初始部分每5-15分钟从不同的数据库源收集数据.然后我删除重复,删除垃圾,根据逻辑组合来自不同来源的数据,然后将其重定向到系统的第二部分作为几个流.据我所知,"NiFi"可以最好的方式完成这项任务=).

目前,我可以通过"GetHTTP"处理器成功从InfluxDB获取信息.但是我不能配置相同类型的处理器来从Elastic DB获取所有必要选项的信息.我希望从"现在 - 减去 - <5-15分钟>"到"现在"的时间段内每5-15分钟接收一次数据.(取决于调度程序周期)和几个额外的过滤器.如果我理解正确,可以通过订阅"_index"或通过定期请求DB以期望的间隔来实现.

我知道NiFi有几个专为Elasticsearch设计的处理器(FetchElasticsearch5,FetchElasticsearchHttp,QueryElasticsearchHttp,ScrollElasticsearchHttp)以及GetHTTP和PostHTTP处理器.然而,不幸的是,我缺乏信息甚至更好 - 例子 - 如何为我的目的配置他们的"属性"=(.

FetchElasticsearchHttp,QueryElasticsearchHttp之间有什么区别?哪一个更适合我的任务?GetHTTP和QueryElasticsearchHttp除了几个特定领域之外有什么区别?如果我根据需要调整它,GetHTTP会以相同的方式执行吗?

有什么建议?

我将不胜感激任何帮助.

processors elasticsearch apache-nifi

5
推荐指数
1
解决办法
4587
查看次数