我有一个包含数据,其中每一行是一个单件的数据的文件(10-20MB)。我有一个C程序,从文件系统中读取文件,然后基于命令行输入,它读取文件的每一行,在每一行上进行计算以确定是否应该返回该行,然后返回数据的一个子集。读取数据VS的数据编译直接进入程序
假定程序执行一个的fread和读取整个文件到内存在开始,然后直接从存储器分析它。
请问程序执行的,而不是从文件系统读取它更快,如果,我的数据编译为程序直接,通过创建一个阵列,例如下面的?
char *dataArray[] = {"data1", "data2", "data3"....};
由于操作系统需要从文件系统中读取整个二进制,我的直觉是,这两种技术的执行时间是相似的,因为从文件系统读取将是高位。然而,有没有人有更明确的想法呢?
是的,它可能会快一点就在编译。 – Ryan 2012-04-10 04:02:16
其他的事情要考虑的是,如果有人需要更新数据文件或没有(如果该文件是错误的,并有多坏程序可以打破或失踪之后) 。 – Thilo 2012-04-10 04:06:13