尝试造数据模拟跑了10+,得出下列对比数据,从统计数据上看有2个结论:
1、require读取JSON文件
相当于 fs.readFileSync + JSON.parse
,明显在这题里,require方案不用考虑
2、如果只是读取文本数据,fs.readFile
要比 fs.createReadStream
快得多,但是如果要转成数据的话,反而是 fs.createReadStream
快的多且稳定,数据量越大越明显。
700w条数据,134M | fs.readFileSync | fs.readFile | fs.createReadStream | require + 删缓存 |
---|
读取文本数据 | 294ms | 294ms | 1220ms | - |
读取JSON对象数据(文本再转对象) | 27200ms | 27200ms | 16000ms | 27000ms |
1000w条数据,495M | fs.readFile | fs.createReadStream |
---|
读取文本数据 | 422ms | 1690ms |
读取JSON对象数据(文本再转对象) | 47571ms | 28016ms |
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…