gpt4 book ai didi

multithreading - 64位计算机,int64和int16的性能

转载 作者:行者123 更新时间:2023-12-03 13:16:17 24 4
gpt4 key购买 nike

我有64位计算机,并且某些数据集在-32000:32000范围内,因此int16_t足以存储它。

问题:

  • 如果它是64位计算机,则int64_t上的操作是原子的,并且成本(就速度而言)与int16_t上的操作相同?如果是这样,以64位存储数据可以节省空间,但不能节省速度吗?
  • 对于并行应用程序,我实际上可以通过存储在int16_t中来节省速度,因为高速缓存也是64位的,而且我存储在高速缓存中的数据更多-线程可以更快地访问它?

  • 是对的吗?

    最佳答案

    如果您的编译器可以将代码转换为使用SSE或AVX,则使用64位整数而不是16位整数将使您的代码理论上的速度降低至原来的4倍。
    即使您的编译器不能独自进行此优化,您也可以手动转换代码,使其使用SSE,从而获得良好的加速效果。

    如果您不能使用SSE,则使用32位整数可能是最佳选择,因为您仍然需要较少的内存,并且由于许多程序尚未使用64位,因此仍对64位CPU进行了优化以处理与64位值一样快的32位值。

    关于multithreading - 64位计算机,int64和int16的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8033933/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com