console.time(“str”);和console.timeEnd("str");

本文介绍了一个简单的JavaScript函数foo(),该函数通过累加的方式计算数值。使用console.time()和console.timeEnd()来测量foo()函数的执行时间。

function foo(){
 var result = 0;

 for(var i = 0; i < 1000000; i++){
 result = result + i; 

}

return result;

}

console.time("test");

foo();
console.timeEnd("test");


console.time("str");

console.timeEnd("str");用于测试foo()函数的执行时间。

注意:console.time() 中的参数和console.timeEnd()中的参数一致。



let dayinfo = [ { name: "id", type: "int", len: 4 }, { name: "o", type: "float", len: 4 }, { name: "h", type: "float", len: 4 }, { name: "l", type: "float", len: 4 }, { name: "c", type: "float", len: 4 }, { name: "v", type: "float", len: 4 }, { name: "a", type: "float", len: 4 }, { name: "r", type: "uint", len: 4 }, ]; const m_item = this.get_struct(m_data, 80, dayinfo, 0); get_struct(data, offset, list, len) { const buf = new DataView(data); const cc = data.byteLength - offset; const ret = {}; if (len == 1) { list.forEach((v) => { console.log(v); if (v.type === "byte") { const v1 = buf.getUint8(offset, true); offset += 1; ret[v.name] = v1; } if (v.type === "int") { const v1 = buf.getInt32(offset, true); offset += 4; ret[v.name] = v1; } if (v.type === "float") { const v1 = buf.getFloat32(offset, true); offset += 4; ret[v.name] = v1; } if (v.type === "uint") { const v1 = buf.getUint32(offset, true); offset += 4; ret[v.name] = v1; console.log(v.name + " ==> " + v1); } if (v.type === "string") { const subBuffer = data.slice(offset, offset + v.len); // 截取子缓冲区 var str = new TextDecoder().decode(subBuffer); str = str.replace(/\0+$/, ""); //str = str.replace(/\0+$/, ""); offset += v.len; ret[v.name] = str; } }); return ret; } var item_len = 0; list.forEach((v) => { item_len += v.len; }); var item = []; while (offset < data.byteLength) { var im = {}; list.forEach((v) => { //console.log(v); if (v.type === "byte") { const v1 = buf.getUint8(offset, true); offset += 1; im[v.name] = v1; } if (v.type === "int") { const v1 = buf.getInt32(offset, true); offset += 4; im[v.name] = v1; } if (v.type === "float") { const v1 = buf.getFloat32(offset, true); offset += 4; im[v.name] = v1; } if (v.type === "uint") { const v1 = buf.getUint32(offset, true); offset += 4; im[v.name] = v1; } if (v.type === "string") { const subBuffer = data.slice(offset, offset + v.len); // 截取子缓冲区 var str = new TextDecoder().decode(subBuffer); str = str.replace(/\0+$/, ""); //str = str.replace(/\0+$/, ""); offset += v.len; im[v.name] = str; } }); item.push(im); } return item; } 优化一下 get_struct的执行效率
最新发布
08-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值