gpt4 book ai didi

c# - 考虑缓存的 C# 中的 float 与双倍性能

转载 作者:行者123 更新时间:2023-11-30 22:38:14 25 4
gpt4 key购买 nike

我查了一下,可以找到很多关于 float vs double 性能的帖子(here 是一个,here 是另一个)。在大多数情况下,据说它们具有相同的性能,因为它们被 FPU 转换为 10 字节实数。但我仍然不相信。如果地方问题考虑得当呢?考虑对大量位进行按位异或,当数据适合缓存(浮点)时,计算无 0 位将花费更少的时间。使用常规(非 SIMD 指令)执行 XOR 和位填充计数将大大延长处理时间。我试着写了一些测试来确认它,但要把一切都做好并不容易。

一个问题是这两种类型在缓存中是否转换为相同的大小?

总的来说,我想知道是否有人可以描述这两种选择在不同情况下的行为?

最佳答案

What if the locality issues are considered appropriately?

还是一样,因为那些通常没有你想象的那么高。如果您处理 float 和 double 而不是复制它,那么实际计算会花费大量时间。您的 XOR 示例是您认为错误的一个很好的示例。 XOR 是一种 SIMPLE EASY FAST 操作,因此一致性很重要。在大多数情况下,使用 float 您会花费更多时间进行数学运算。

关于c# - 考虑缓存的 C# 中的 float 与双倍性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6188429/

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