gpt4 book ai didi

比较 char 数组与 uint8_t 数组与 int8_t 数组的访问时间

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

我发现访问 char 数组中的数据项比访问 int 数组中的数据项花费的时间要少得多。我猜测发生这种情况是因为整数的大小大于字符的大小,因此“内存 Controller ”(控制 C 中内存的东西 - 我不知道技术术语)必须移动更大的距离。

uint8_t char 和 int8_t 具有相同的大小。那么将数据存储在哪种数据类型的数组中将提供最快的访问时间。

我创建了一个程序,将 150000 个单词存储在一个大小为 250000 个存储桶的哈希表中。当哈希表数组的数据类型为 int 时,加载时间为 0.16 秒,但当数据类型为 char 或 uint8 或 int8 时,加载时间在 0.08 到 0.11 秒之间变化。所以我的测试没有结果

最佳答案

对此没有通用答案。

它 100% 取决于您的硬件、编译器、操作系统、电源电压和月相。至少其中一些。

C 没有指定该级别的内容。

在具有字节可寻址内存的典型(现代)计算机上,char 将是 8 位(“一个字节”)。这意味着 uint8_t 将是 unsigned char 的别名,而 int8_t 将是 signed char

因此,uint8_tint8_tchar 的访问时间将是相同的,因为它们本质上都是相同的类型,只是不同的符号语义。

关于比较 char 数组与 uint8_t 数组与 int8_t 数组的访问时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25288506/

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