【发布时间】:2020-05-08 18:29:31
【问题描述】:
我制作了两个代码来创建一个文件并写入其中。 问题是两者都很慢(基于磁盘速度) 有没有更好的方法写入文件?
let codes = [];
function makeid(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
for (let i = 0; 1000000 > i; i++)
{
codes.push(`${makeid(20)}`);
}
fs.writeFile(`./codes/${makeid(5)}.txt`, codes.join('\n'), (err) => {
if (err)
{
message.reply("There was an error processing your request");
throw err;
}
})
/* Second Code */
let stream = fs.createWriteStream(`./codes/${makeid(5)}.txt`);
for (let i = 0; 1000000 > i; i++)
{
stream.write(`${makeid(20)}`);
}
stream.end();
/* Made by Nadelvorhang */
两个代码都需要 5-15 秒。 我正在寻找一种更快的方法,可以在 > 5 秒或瞬间完成。 文件保存在 txt 中。
【问题讨论】:
-
您可以为您的问题添加一些上下文吗?正在写入的文件是什么类型的存储?每种方法需要多长时间?您预计它们需要多长时间?
-
@TylerMumford 所以它需要 5-15 秒,它应该只在每个文件中生成带有随机内容的 txt 文件,我尝试找到一个 >5 秒的方法或即时
标签: javascript node.js stream fs