我想知道哪个整型或浮点类型是最快..结果 我在想一个字节是不是整数更快,因为它有一个较小的范围内。结果 有人告诉我..是,在某些情况下,整数不是一个字节的速度更快。

第二个问题:结果 该GPU是他的方式来统治世界..点击 所以我问自己:可以将双“快”不是一个整数..因为FPU结果的 那么,是专家? :)

有帮助吗?

解决方案

您必须考虑比时钟周期来进行运算更多。可以说,加入两个整数借此很多周期,增加了两个双打借此很多周期等,但可能是不相关的。如果所有数据在同一时间适合高速缓存,然后定时个体经营是有道理的。但如果没有,需要额外的时间,由于缓存未命中主宰着个体经营的差异。有时用较小的数据类型的工作速度更快,因为它使得不得不从缓存中拉东西或没有,或不必去到磁盘或不之间的区别。

这几天电脑把大部分时间到处移动数据,不是做算术,即使在数字运算应用。而前者与后者的比例正在增加。你不能简单地比较,例如,繁殖短裤与双打所需的时间。你可能会发现你的程序给定两个版本,一个版本运行速度更快的一个小问题,其他版本的运行都因为各种内存的相对效率变化较大的程序更快。

其他提示

  

我想字节比整数更快,因为它具有较小的范围内。

东西我都经历:使用short给了我一个性能命中,而使用int就没事了。这是因为,短裤通常不会在架构存在。他们是方便的类型。处理器实际上它的字大小的作品。就我而言,字的大小是一个int。因此,访问短时,必须先装在一个int值,它工作,然后解压,让我得到的结果在很短的。所有这一切都导致了性能损失。所以,较短不一定好。

这取决于没有在架构数据位。 浮点处理器将把漂浮,做计算时的两倍相同。他们都与80位精度评估,因此将采取相同的时间量。加载和保存的值入FPU寄存器可能会有所作为。双发生在RAM两倍的空间,因此可能会比较慢,由于高速缓存未命中。明显,如果您有趋向于指数大阵列随机

目前CPU级别,没有字节,唯一的话,这是32位或64时下。算术单元通常硬连线来处理字大小的号码(或更大,在浮点的情况下)。

所以在使用类型小于一个字的关于算术运算没有速度优势,因为你必须做更多的工作,以模拟该CPU不具备原生类型,例如有可能是速度上的惩罚写一个字节内存需要你先阅读它的一部分的话,修改,然后将它写回。为了避免这种情况,大多数编译器将实际使用的存储器的全字为所有变量较小,因此,即使一个布尔变量占用32位或64位。

但是,如果有大量的数据,如一个大的阵列,然后用较小的类型通常会产生更好的性能,因为你有更少的高速缓存未命中。

数字类型的字节长度取决于语言和有时也正在使用的平台。例如在Java中既int和float使用4个字节,所以处理时间应该相等。虽然较长的类型得到处理速度更快这让我感到吃惊。如果有这方面的证据我想了解它。

关于哪一个是更快,整数或字节,只要它们都适合他们的工作是相同的,或者至少在没有可测量的差异的寄存器。

关于整数vs.double:可能是GPU确实有双打,然后定期CPU的运算速度更快,但我怀疑它有双重算术快于整数,因为整数运算仅仅是注册算术

在最大优化使用环状标量的计算,使用矢量计算流逝。然后采取GPU或CPU的SSE的优势。

好了,只要你不做任何向量的优化,你可以使用整数一样大的寄存器(32/64位),没有任何实际的性能损失。

浮点数是有点不同:尽管CPU被双打优化,GPU的通常与浮子工作

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top