当前位置:网站首页>jsArray array copy method performance test 2207292307
jsArray array copy method performance test 2207292307
2022-07-30 13:22:00 【kfepiza】
jsArrayArray copy method performance test2207292307
测试在eval中的速度
测试代码
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"/><title></title><style> body{
margin:0} #BodyH{
display:flex; align-items:center; justify-content:flex-start; background-image:linear-gradient(to right, red, orange, yellow, green, cyan, blue, purple);} </style><script> if(!document.title.length)(function(){
var str=document.URL; str=str.substring( str.lastIndexOf("/")+1 , str.lastIndexOf('.')); str=decodeURI(str); document.title=str;})(); let isLog=true;clog=function(){
if(isLog)for(let a of arguments)console.log(a);}; n09="0123456789"; lAZ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; laz="abcdefghijklmnopqrstuvwxyz"; Z62=n09+lAZ+laz; Z62o={
};for(let i=0;i<Z62.length;i++)Z62o[Z62[i]]=i; const CTTT="Content-type"; rdmN=(u)=>parseInt(Math.random()*u); rdmV=(sa)=>sa[rdmN(sa.length)]; rdmS=(l=1,sample=Z62)=>{
let s='';for(let i=0;i<l;i++)s+=rdmV(sample);return s;}; z62=z62l=(l)=>rdmS(l); decFrZ62=(z)=>{
let a=Array.from(z).reverse(); let i=0; for(let j=0;j<a.length;j++)i+=Z62o[a[j]]*Math.pow(62,j);return i;}; z62Now=()=>{
let l=Date.now(),a=[]; while(l>62){
a.push(Z62[l%62]);l=parseInt(l/62);};a.push(Z62[l]);return a.reverse().join('');}; z62Id=(l)=>{
let s=z62Now(); if(l&&l>6){
l-=6;s+=z62(l);}return s;}; rdmRgb=()=>'rgb('+rdmN(256)+','+rdmN(256)+','+rdmN(256)+')'; rdmBgc=()=>"background-color:"+rdmRgb()+";"; isA=(x)=>x&&x.constructor===Array,isS=(x)=>x&&x.constructor===String,isF=(x)=>x&&x.constructor===Function,isO=(x)=>x&&x.constructor===Object,isJ=(x)=>isA(x)||isO(x),isM=(x)=>x&&x.constructor===Map; isE=(x,tn)=>{
let b=(x&&x instanceof HTMLElement); if(b&&tn)b=(x.tagName===tn.toUpperCase()); return b;}; isColl=(x)=>x&&isFinite(x.length)&&x.constructor!==String; isEnterEvent=(ev)=>ev&&(ev.which===13&&ev.keyCode===13&&ev.key==="Enter"&&ev.code==="Enter"); triggee=triggerElementEvent=The event that fires the element=(e,evn)=>{
e=dgebi(e);e.dispatchEvent(new Event(evn)); return e;}; z24ParseInt=(s)=>{
let ar=Array.from(s); let ar1=ar.filter((v)=>isFinite(v)); return parseInt(ar1.join(''));}; stringSeparator=(str,ss,hf)=>{
if(!ss||ss.length===0)return str; let ar=str.split(ss.shift()); if(isF(hf))hf(ar); ar=ar.map((s)=>stringSeparator(s,ss.slice())); return ar;}; //ge //dgebi const ge=window.dgebi=function(i,s){
if(!i)return;let e=i;if(isS(i)){
e=document.getElementById(i);if(!e)e=document.querySelector(i);} if(!s)return e; s=ge(s); if(isE(e)&&isE(s))e.appendChild(e.new baby=e.xw=s);else{
clog("↓↓↓",e,"Father or Son is notElement",s,"↑↑↑");}return e;}; dce=window.dcept=(p,tn="DIV")=>{
let e=document.createElement(tn);e.idefine=(i)=>{
e.id=i;return window[i]=e;};e.htm=(h)=>{
if(h!==undefined)e.innerHTML=h;return e;}; e.ass=e.aCssText=(s)=>{
if(s)e.style.cssText+=";"+s;return e;};e.cls=(c)=>{
if(c!==undefined)e.className+=" "+c;return e;}; e.ce=(a0,c2,h2)=>{
let ar; if(isS(a0))ar=a0.split("=->");else ar=a0; let t=ar[0].replace(/\s/g,''),h=ar[1],ct=ar[2],c=ar[3]; e.ceLast=dcept(e,t).htm(h).htm(h2).aCssText(ct).cls(c).cls(c2); if(isS(ar[4]))eval("const P=e,I=e.ceLast;"+ar[4]); return e.ceLast}; e.ca=(a0,c,h)=>{
e.ce(a0,c,h);return e}; e.cen=function(a0, n=1, c, f) {
e.cenAr=[];let ar;if(isS(a0))ar=a0.split('\n');else ar=a0; for(let t=0;t<n;t++)for(let tn of ar){
let s=e.ce(tn).cls(c); if(f)f(s,e, e.cenAr); e.cenAr.push(s)};return e;}; e.cbn=function(a0,n0=1,n1=1,c0,c1,f0,f1) {
let ar;if(isS(a0))ar=a0.split('\n');else ar=a0; let pt=ar.shift(); e.cen(pt,n0,c0,f0); for(let b of e.cenAr){
b.cen(ar,n1,c1,f1);} return e;}; e.rdmBgc=function(){
e.style.backgroundColor=rdmRgb();return e;}; dgebi(p,e);return e;}; window.dceptq=function(p,t,q=1){
let ear=Array(q); for(let n=0;n<q;q++){
ear.push(dcept(p,t));} return ear;}; dceptc=(p,t,c)=>dcept(p,t).cls(c); dcDiv=(p,c)=>dceptc(p,"div",c); dcArticle=(p,c)=>dceptc(p,"article",c); dcSection=(p,c)=>dceptc(p,"section",c); dcFL=(p,lh,c)=>{
let f=dcept(p,"fieldset").cls(c); f.l=dcept(f,"legend").htm(lh); return f;}; evalab=(p,code)=>dcept(p,"label").cls("evalab").cen("span=->"+code+"=->=->evalabL , span=->的结果是=->=->evalabC , span=->"+eval(code)+"=->=->evalabR"); window.dwbr=function(a0=1){
let ar=arguments,br=dwbr.br; if(Number.isFinite(a0)){
br(a0);return;} for(let a of ar)document.write(a.replace(/\n/g,"<br/>"));br();}; dwbr.br=function(n=1){
for(let c=0;c<n;c++)document.write("<br/>");}; window.simpleTableByA2=(p,a2)=>{
let tb=dcept(p,"table").cen(['thead','tbody','tfoot']);tb.h=tb.tHead;let tbd=tb.b=tb.tBody=tb.tBodies[0]; tb.f=tb.tFoot; tb.Ntr=dcept(tb.h,"tr","Ntr"); let ar=a2.shift(); ar.forEach((v)=>dce(tb.Ntr,"th").htm(v)); a2.forEach((row,r)=>{
let tr=dcept(tbd,"tr");row.forEach((v,c)=>{
let td=dce(tr,"td").htm(v).cls("R"+r+"C"+c);});});return tb;}; </script>
</head><body><header id="BodyH">
<label></label><script>{
let s=document.currentScript; let l=s.previousElementSibling; if(!l.innerHTML.length)l.textContent=document.title}</script>
</header><div id="BodyB">
</div><script>const BodyH=dgebi("BodyH") , BodyB=dgebi("BodyB") ; dce(document.body).idefine("BodyF"); dce(BodyB).idefine("BBB");</script>
<script>{
}</script><style> *{
box-sizing:border-box;} table{
border-collapse:collapse;} thead {
color:white; background:#331100; } tbody{
background:#eeeef9; } tbody>:nth-child(2n){
background:#ffeedd; } th,td {
border:1px solid black; } </style><script>{
const SrcArray = [1,2,3,'4','5','6','七','八','九',[1,2,3],{
a:"a",b:"b"},window,document,parseInt,Number,String,Array,Object,Function,document.html,document.body]; let ExeCount = 1000 let tbA2=[['方法','执行次数','用时毫秒']]; function f1(methodStr ){
let beginning = Date.now(); for(let c=0;c<ExeCount;c++){
eval(methodStr); } let t1=Date.now(); let cost = t1-beginning; let temp=[ methodStr.replaceAll("<","<") , ExeCount , cost ]; tbA2.push(temp); } f1(` SrcArray.concat(); `); f1(` SrcArray.slice(); `); f1(` [...SrcArray]; `); f1(` Array.from(SrcArray); `); f1(` for(let c=0; c<ExeCount; c++){ let replica = []; for(let i=0; i<SrcArray.length; i++){ replica.push(SrcArray[i]); } } `); f1(` for(let c=0; c<ExeCount; c++){ let replica = []; for(let v of SrcArray){ replica.push(v); } } `); f1(` for(let c=0; c<ExeCount; c++){ let replica = []; for(let i=0; i<SrcArray.length; i++){ replica.push(SrcArray[i]); } } `); simpleTableByA2(BBB,tbA2); }</script><script>{
}</script></body></html>
1000次
2000次
3000次

| 方法 | 执行次数 | 用时毫秒 |
|---|---|---|
| SrcArray.concat(); | 3000 | 1 |
| SrcArray.slice(); | 3000 | 1 |
| [...SrcArray]; | 3000 | 1 |
| Array.from(SrcArray); | 3000 | 2 |
| for(let c=0; c<ExeCount; c++){ let replica = []; for(let i=0; i<SrcArray.length; i++){ replica.push(SrcArray[i]); } } | 3000 | 2733 |
| for(let c=0; c<ExeCount; c++){ let replica = []; for(let v of SrcArray){ replica.push(v); } } | 3000 | 819 |
| for(let c=0; c<ExeCount; c++){ let replica = []; for(let i=0; i<SrcArray.length; i++){ replica.push(SrcArray[i]); } } | 3000 | 2679 |
边栏推荐
猜你喜欢
随机推荐
These critical programs are missing or too old: ma
ModelCoder状态机:对柴油机工况判断策略进行建模
EasyNVR更新版本至(V5.3.0)后页面不显示通道配置该如何解决?
dolphinscheduler simple task definition and complex cross-node parameter transfer
展厅全息投影所具备的三大应用特点
第十三天笔记
漫谈金丝雀部署(Canary Deployment)
[PostgreSQL] - explain SQL分析介绍
dolphinscheduler adds hana support
How to display an Excel table in the body of an email?
元宇宙的六大支撑技术
dolphinscheduler简单任务定义及复杂的跨节点传参
双击Idea图标打不开——解决办法
手慢无!阿里亿级流量高并发系统设计核心原理全彩笔记现实开源
奇异值分解(SVD)原理与在降维中的应用(附带例题讲解)(纯理论)
手撕读写锁性能测试
【Kaggle比赛常用trick】K折交叉验证、TTA
如何将EasyCVR平台RTSP接入的设备数据迁移到EasyNVR中?
no matching host key type found. Their offer: ssh-rsa
ENVI图像处理(6):NDVI和植被指数









