内存使用量与数据大小相同

  • 本文关键字:数据 使用量 内存 c++
  • 更新时间 :
  • 英文 :


我正在对变量进行 SHA3 算法的性能测试,我正在检查不同大小变量的算法执行时间。为此,我正在使用char类型并增加它的大小,但我不知道我是否有效地正确。我将使用下面的代码行来解释我的疑问。

char[1000] = "A text";

我知道每个字符的大小为 1 字节。我的问题是:当我预定义一个向量时,变量的大小会是向量的索引,在本例中为 1000?还是变量的大小将由其中的内容给出,在本例中由文本给出,这将是 6 个字节?

我正在做的测试是对的吗?还是分配的内存大小不考虑 SHA3 的性能?(我问这个是因为我打算用更大的值做同样的测试。例如,如果我想用 20 KB 进行此测试,我是否必须用 20000 个字符填充变量?

我正在使用C++。

该行代码在堆栈上分配的内存量将为 1,000 字节。但是,您发送到 SHA3 代码的内容可能只是字符串"A text"的字节数,具体取决于您如何调用它以及它如何使用数据。如果它使用像 strlen() 这样的函数计算字符串的长度,那么它可能只会迭代字符串的 6 个字符(和 1 个 NUL 字节),而忽略剩余的 993 个字节。因此,这实际上取决于您如何使用它以及如何计算测试的大小。

最新更新