和ASPJavascript应用程序对象的内容是CAC静的物体
应用程序对象的内置集合有一个用于简单类型设计的内容,并且可以使用默认应用程序()。但应用。内容不能存储对象可以节省VBS数组,但不能放置在Javascript数组。
当使用应用程序内容时,它只能被用作丑:
对于(var i = 0;i < 15000;i + +){
应用程序锁定();
/ /应用。内容(我)= sdfdsffdsaf ;
应用(I)=sdfdsffdsaf ;
应用程序:解锁();}
这里1.5w字符串存储在应用程序的内容,并以共234ms。
改变后的application.staticobjects:
字典的定义是一个用于存储数据的物体是因为物体是不允许直接访问。
该脚本的速度。字典本身是非常快的,它没有对静的物体采集速度比较多的效果。
字典的速度:
var a新的ActiveX对象(脚本。词典);
对于(var i = 0;i < 15000;i + +){
D.项目(我)=sdfdsffdsaf ;}
1.5w插值,172ms
当然,自定义对象var =新对象();Faster, 1.5W times as long as 80-90ms, but the function is much weaker, so still use a dictionary.
看看下面的正式测试
对于(var i = 0;i < 15000;i + +){
应用程序锁定();
application.staticobjects(,)的项目。(我)=sdfdsffdsaf ;
应用程序:解锁();}
到6953ms,对静的物体设置访问速度初步判断不能满足高速的要求。这个速度几乎是ADO OLEDB阅读同一SQL Server 2000。
但我不打算放弃了,因为静的物体的优点是它可以存储对象,和字典也可以存储其他对象,可以作为缓存对象,而不仅仅是数据。
我把一个对象:在application.staticobjects(,)
application.staticobjects(,)。项目(O)=新的对象();
对于(var i = 0;i < 15000;i + +){
应用程序锁定();
application.staticobjects(,)。项目(O){我} =sdfdsffdsaf ;
应用程序:解锁();}
6656ms,快一点。一层对象不降低速度,然后速度不是一个复杂的结构,而是一种静的物体进入。
预存的参考的
var t = application.staticobjects(,);
对于(var i = 0;i < 15000;i + +){
应用程序锁定();
T.项目(O){我} =sdfdsffdsaf ;
应用程序:解锁();}
3094ms成功降低了一半以上的时间多一点,JS测试的存储策略,如果T项目(O)也存储
var t = application.staticobjects(,)。项目(O);
对于(var i = 0;i < 15000;i + +){
应用程序锁定();
T {我} =sdfdsffdsaf ;
应用程序:解锁();}
125ms,最后,只有一半的Application.Contents.It看来,时间主要是花了参考,不是静的物体内存区是保护slowly.staticobjects优于内容的安全措施,因为对象是存储在它。
强大的字典功能,适当的封装,访问流行的方法,比如,放(),获取(),包含(),等等,都是一个强大的缓存。
/注
我封装了一个SCT组件。
获取内容和静的物体在0ms参考20次测试的速度,100倍5倍的速度,和500-1500倍10倍的速度差距。然而,访问后访问不受影响。