架构上的字节序转换成本

时间:2014-01-31 21:08:40

标签: endianness cpu-architecture

今天有两种CPU架构,大端和小端。因此需要在两个表示之间转换数据。每个CPU架构,特别是指令集是不同的,并且每个都允许用于改变字节序的不同实现。某些CPU包含特定指令,而其他CPU则不包含。

我的问题是,今天的架构是更高效的数据BE和转换LE架构或其他方式,以最大限度地减少数据转换延迟,从而最大化BE到LE通信的吞吐量。

第二个问题,转化成本是否可以量化,是否有关于此事的数据?

Java中从字节数组转换的成本有多高?特定架构上的特定JVM上是否有数据? Dalvik有什么不同吗?

AFAIK相关的体系结构将是x64,ARM,MIPS和JVM / Dalvik。我错过了吗?

1 个答案:

答案 0 :(得分:2)

数据应该始终使用本机端,除非您只复制值然后将其发送回去而不进行任何处理。如何使用反向字节序操作(除了按位运算符)?网络活动比CPU慢得多,甚至与RAM相比也是如此。你几乎没有看到速度上的任何差异,但很可能会受到记忆限制。

存储数据是计算机的基础,为什么只有少数架构相关?所有体系结构必须遵循特定的字节序(如x86 / x86_64)或双端(ARM,MIPS ......)