在C中处理字符串和整数之间的时间

时间:2012-04-26 13:46:04

标签: c performance file

我们知道整数存储长度是4个字节,字符存储是1个字节。这是我的问题,我有一个庞大的数据,我需要将它们写入文件。

例如。我的数据就像

    Integers - 123456789 (of length 9) (Total 9! factorial records)
    Character - abcdefghi (of length 9) (Total 9! factorial records)

哪一个会缩短处理时间?有任何想法......

4 个答案:

答案 0 :(得分:1)

与文件的访问时间相比,它无关紧要。

答案 1 :(得分:0)

似乎处理时间相同,因为你有相同的字节! 文件存储在硬盘驱动器中,而不是存储在RAM中。

答案 2 :(得分:0)

如果整数存储在单独的32位整数中并且以二进制形式保存它们,则每个整数有4个字节且没有转换开销。 如果您的字符串存储在9个字符的数组中,并按原样保存它们,则每个字符串有9个字节,并且没有转换开销。 在这种情况下,字符串将比整数花费更多的I / O时间。

如果将整数转换为可读的9-char字符串并以与其他字符串相同的方式保存它们,则I / O时间将相同,但是转换为所需的整数将有额外的处理时间。文本。

答案 3 :(得分:0)

使用整数会节省一些空间,也可能需要一段时间,但它会很小,你不会注意到。整数需要4个字节,9个字符需要9个字节。因此,对于每个值,您将使用5个额外字节。由于数据集的长度 9! = 362880 ,因此您将浪费 362880 * 5 字节,即1.73 MB。这是非常小的块并且将其写入磁盘将不会引人注意。因此,根据适合您的更多选择整数或字符,而不是基于哪个更快,因为您不会注意到此大小的数据集的差异。