对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学、重要性也不是那么突出。其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出很多,重要性可谓是举足轻重。下面我们通过一个例程向读者演示一下,使用buf.co ...
对于初学Node.js框架的开发人员来说,可能认为Buffer模块比较易学、重要性也不是那么突出。其实,Buffer模块在文件I/O和网络I/O中应用非常广泛,其处理二进制的性能比普通字符串性能要高出很多,重要性可谓是举足轻重。下面我们通过一个例程向读者演示一下,使用buf.concat()方法进行拼接的过程。
本例ch04.buffer-concat.js主要代码如下:
1 /** 2 * ch04.buffer-concat.js 3 */ 4 console.info("------ Buffer concat vs String concat ------"); 5 console.info(); 6 /** 7 * define variable 8 * @type {Buffer} 9 */ 10 var buf = new Buffer("this is Buffer concat test!"); 11 var str = "this is String concat test!"; 12 /** 13 * start record time 14 */ 15 console.time("buffer concat test!"); 16 var list = []; 17 var len = 100000 * buf.length; 18 for(var i=0; i<100000; i++){ 19 list.push(buf); 20 len += buf.length; 21 } 22 /** 23 * Buffer 对象拼接 24 */ 25 var s1 = Buffer.concat(list, len).toString(); 26 console.timeEnd("buffer concat test!"); 27 console.info(); 28 console.time("string concat test!"); 29 var list = []; 30 for(var i=100000; i>=0; i--) { 31 list.push(str); 32 } 33 /** 34 * String 对象拼接 35 * @type {string} 36 */ 37 var s2 = list.join(""); 38 console.timeEnd("string concat test!"); 39 /** 40 * end record time 41 */ 42 console.info(); 43 console.info("------ Buffer concat vs String concat ------");
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:《超实用的Node.js代码段》连载二:正确拼接Buffer
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。