내장 된 응용 프로그램 객체 모음에는 간단한 유형을 저장하도록 설계된 컨텐츠가 있으며 기본 응용 프로그램 ( "키")을 사용할 수 있습니다.
그러나 응용 프로그램은 객체를 저장할 수 없으며 VBS 어레이를 저장할 수 있지만 JavaScript에서는 배열을 배치 할 수 없습니다.
응용 프로그램을 사용할 때는 다음과 같은 추악한 것만 사용할 수 있습니다.
for (vari = 0; i <15000; i ++) {
application.lock ();
//application.contents(i)sdfdsffdsaf ";
응용 프로그램 (i) = "sdfdsffdsaf";
application.unlock ();}
여기에서는 1.5W 문자열을 Application.Contents에 저장하여 총 234ms가 걸렸습니다.
Application.staticObjects를 사용한 후 :
staticobject는 직접 액세스를 허용하지 않기 때문에 사전을 데이터 저장으로 정의하십시오.
<objectId = "dict"runat = "server"scope = "application"progid = "scripting.dictionary"> </object>
Scripting.dictionary 자체는 매우 빠르며 정적 관점 수집 속도를 비교하는 데 큰 영향을 미치지 않습니다.
사전 속도 :
vard = newActivexObject ( "scripting.dictionary");
for (vari = 0; i <15000; i ++) {
d.item (i) = "sdfdsffdsaf";}
1.5W 보간, 172ms
물론 사용자 정의 객체 vard = newObject (); d [i] = ..는 더 빠르며, 1.5W는 80-90ms 만 사용하지만 기능은 훨씬 약하므로 사전을 사용합니다.
아래의 공식 테스트를 참조하십시오
for (vari = 0; i <15000; i ++) {
application.lock ();
Application.staticObjects ( "dict"). item (i) = "sdfdsffdsaf";
application.unlock ();}
시간은 6953ms입니다. 처음에는 STATICOBJEcts Collection의 액세스 속도가 캐시 요구 사항을 충족 할 수 없다고 판단됩니다. 이 속도는 AdooledB가 SQLSERVER2000을 읽는 시간과 거의 동일합니다.
그러나 정적 관점의 장점은 객체를 저장할 수 있고 사전은 데이터뿐만 아니라 캐시 객체로 사용할 수있는 다른 객체를 저장할 수 있기 때문에 즉시 포기할 계획이 없습니다.
Application.staticObjects ( "dict")에 객체를 넣습니다.
application.staticObjects ( "dict"). item ( "o") = newObject ();
for (vari = 0; i <15000; i ++) {
application.lock ();
application.staticObjects ( "dict"). 항목 ( "o") [i] = "sdfdsffdsaf";
application.unlock ();}
6656ms, 조금 더 빠릅니다. 물체의 한 층이 더 속도를 늦추지 않습니다. 느린 속도는 복잡한 구조 때문이 아니라 정적 관점의 접근성 때문입니다.
사전 매장 DICT의 참조
Vart = application.staticObjects ( "dict");
for (vari = 0; i <15000; i ++) {
application.lock ();