我有一个包含数据的文件(10-20MB),其中每一行都是一条数据。
我有一个从文件系统读取文件的 C 程序,然后根据命令行输入,它读取文件的每一行,对每一行进行计算以确定是否应该返回该行,然后返回数据。
假设程序在开始时做了一个 fread 并将整个文件读入内存,然后直接从内存中解析。
如果我不是从文件系统读取数据,而是通过创建如下所示的数组将数据直接编译到程序中,程序会执行得更快吗?
char *dataArray[] = {"data1", "data2", "data3"....};
由于操作系统需要从文件系统读取整个二进制文件,我的直觉是这两种技术的执行时间是相似的,因为从文件系统读取将是高位。但是,有人对此有更明确的想法吗?