我正在优化一个基于数值/统计库的排序函数,假设在过滤掉任何NaN并进行一些处理后,浮点数可以作为32位整数进行比较而不改变结果,双精度浮点数可以作为64位整数进行比较。
这似乎可以将这些数组的排序速度提高约40%,只要浮点数的位级表示是IEEE 754。是否有人们实际使用(不包括此库不针对的嵌入式设备)使用其他表示法的真实CPU可能会破坏这个假设?
参考:
这似乎可以将这些数组的排序速度提高约40%,只要浮点数的位级表示是IEEE 754。是否有人们实际使用(不包括此库不针对的嵌入式设备)使用其他表示法的真实CPU可能会破坏这个假设?
参考:
- https://en.wikipedia.org/wiki/Single-precision_floating-point_format(二进制32,即在使用IEEE754的系统中的
float
) - https://en.wikipedia.org/wiki/Double-precision_floating-point_format(二进制64,即在使用IEEE754的系统中的
double
)