注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

汇总技巧

你快乐我快乐.... 汇集各类技巧,传播技巧,让我们共同熟练运用技巧..

 
 
 

日志

 
 

关于运算符效率低下的问题,好的解决办法  

2011-06-02 19:13:03|  分类: ◆ASP技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 我们知道用号比用+号快。因为+要对字符窜变量做类型判断并转换。
当时也没想出什么好办法。只是将两次运算拆开,速度提了一倍。还是解决不了问题。
结果就是:fori1to5000,i以字符形式相加。用运算,要300-500ms
现在试试下面这个。建了个CStrCat的类。
程序代码:
ClassCStrCat'这是类开始。
Privatei,sa()
PublicPropertyGetValue
RedimPreservesa(i)
Value=Join(sa,"")
EndProperty
PrivateSubClass_Initialize()
i=clng(0)
Redimsa(500)
EndSub
PrivateSubClass_Terminate()
Erasesa
EndSub
PublicfunctionAdd(ps)
Iflen(ps)=0ThenExitFunction
If(i=ubound(sa))Thenupsize
sa(i)=ps
i=i+1
Endfunction
PrivateSubUpSize()
Dimu
u=ubound(sa)
RedimPreservesa(clng(u+u*0.1))
EndSub
EndClass
你可以用这个代码测试一下性能分别:
程序代码:
%
PageExeTime1=Timer*1000'计时开始
Setsc=newCStrCat
Fori=0To5000
sc.addi"aaaaaa"
next
response.writesc.value
'计时结束
Response.Write",Processedtime:"fix(abs(CDBL(Timer)*1000-PageExeTime1))"ms/font/p"
PageExeTime2=Timer*1000
Fori=0To5000
sc2=sc2i"aaaaaa"
Next
response.writesc2
'计时结束
Response.Write",Processedtime:"fix(abs(CDBL(Timer)*1000-PageExeTime2))"ms/font/p"%
  评论这张
 
阅读(78)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017