From cf309cfed9db8f552eebe2b9961df7e18ec372cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AC=A7=E9=9B=AF?= <2836892088@qq.com> Date: Wed, 2 Mar 2022 17:04:32 +0800 Subject: [PATCH 1/2] stream --- .../3.2-stream/demo.js" | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 "\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" diff --git "a/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" "b/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" new file mode 100644 index 0000000..88f4235 --- /dev/null +++ "b/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" @@ -0,0 +1,31 @@ +//创建个大文件,分别用传统方式于流方式,再计算下内存的消耗 +let fs = require("fs"); +let os = require("os"); +//传统方式 +let startTime = Date.now(); +let start = os.freemem(); +let fd = fs.openSync("bigFile.txt", 'a'); +for (let i = 0; i < 10000; i++) { + fs.writeSync(fd, "我没事就吃溜溜梅\n"); +} +let end = os.freemem(); +let diff = ((start - end) / 1024 / 1024); +let endTime = Date.now(); +let diffTime = ((endTime-startTime)/1000); +console.log("传统方式的空闲内存量:" + diff); +console.log("传统方式的时间消耗:" + diffTime); +fs.closeSync(fd); +//流方式 +let startTime2 = Date.now(); +let start2 = os.freemem(); +let stream = fs.createWriteStream("bigFile2.txt", "utf-8", { flag: "a" }); +for (let j = 0; j < 10000; j++) { + stream.write("你别管我了\n"); +} +let end2 = os.freemem(); +let endTime2 = Date.now(); +let diffTime2 = ((endTime2-startTime2)/1000); +let diff2 = ((start2 - end2) / 1024 / 1024); +console.log("流方式的空闲内存量:" + diff2); +console.log("传统方式的时间消耗:" + diffTime2); +stream.close(); \ No newline at end of file -- Gitee From d1ba63c8f1bb8254db99818f987d94bff0b4dd0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AC=A7=E9=9B=AF?= <2836892088@qq.com> Date: Thu, 3 Mar 2022 17:53:38 +0800 Subject: [PATCH 2/2] =?UTF-8?q?3.3-http=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../3.2-stream/demo.js" | 6 +++--- .../3.3-http\345\215\217\350\256\256/demo.js" | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 "\346\235\216\346\254\247\351\233\257/3.3-http\345\215\217\350\256\256/demo.js" diff --git "a/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" "b/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" index 88f4235..ce743b5 100644 --- "a/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" +++ "b/\346\235\216\346\254\247\351\233\257/3.2-stream/demo.js" @@ -12,7 +12,7 @@ let end = os.freemem(); let diff = ((start - end) / 1024 / 1024); let endTime = Date.now(); let diffTime = ((endTime-startTime)/1000); -console.log("传统方式的空闲内存量:" + diff); +console.log("传统方式的内存消耗:" + diff); console.log("传统方式的时间消耗:" + diffTime); fs.closeSync(fd); //流方式 @@ -26,6 +26,6 @@ let end2 = os.freemem(); let endTime2 = Date.now(); let diffTime2 = ((endTime2-startTime2)/1000); let diff2 = ((start2 - end2) / 1024 / 1024); -console.log("流方式的空闲内存量:" + diff2); -console.log("传统方式的时间消耗:" + diffTime2); +console.log("流方式的内存消耗:" + diff2); +console.log("流方式的时间消耗:" + diffTime2); stream.close(); \ No newline at end of file diff --git "a/\346\235\216\346\254\247\351\233\257/3.3-http\345\215\217\350\256\256/demo.js" "b/\346\235\216\346\254\247\351\233\257/3.3-http\345\215\217\350\256\256/demo.js" new file mode 100644 index 0000000..c3cfa3c --- /dev/null +++ "b/\346\235\216\346\254\247\351\233\257/3.3-http\345\215\217\350\256\256/demo.js" @@ -0,0 +1,17 @@ +// 创建一个web服务器,根据不同的url 去读取页面,给前端渲染 +let http = require("http"); +let serve = http.createServer(function(req,res){ + res.setHeader('Content-type','text/html; charset=utf-8') + let url = req.url; + console.log(url); + if(url == "/"){ + res.end("来测测你是谁吧"); + }else if(url == "/pig"){ + res.end("哈哈哈你是猪"); + }else if(url == "/dog"){ + res.end("哈哈哈你是狗") + } +}) +serve.listen(3000,function(){ + console.log("服务已启动:http://127.0.0.1:3000"); +}); \ No newline at end of file -- Gitee