Kumpulan objek aplikasi bawaan memiliki konten yang dirancang untuk menyimpan tipe sederhana, dan aplikasi default ("Key") dapat digunakan.
Namun, aplikasi.
Saat menggunakan Application.contents, Anda hanya dapat menggunakan yang jelek seperti:
untuk (vari = 0; i <15000; i ++) {
Application.lock ();
//Application.contents(i)="sdfdSffdsaf ";
Aplikasi (i) = "sdfdsffdsaf";
Application.unlock ();}
Di sini saya menyimpan 1.5W string di Application.contents, yang memakan total 234 ms.
Setelah menggunakan application.staticObjects sebagai gantinya:
Tentukan kamus sebagai staticObject untuk menyimpan data, karena staticObject tidak memungkinkan akses langsung.
<objectId = "dict" runat = "server" scope = "application" progid = "scripting.dictionary"> </pes Object>
Scripting. Diksi itu sendiri sangat cepat dan tidak akan memiliki banyak dampak pada membandingkan kecepatan pengumpulan staticObjects.
Kecepatan kamus:
vard = newActivexObject ("scripting.dictionary");
untuk (vari = 0; i <15000; i ++) {
d.item (i) = "sdfdsffdsaf";}
1.5W Interpolasi, 172ms
Tentu saja, objek kustom vard = newObject (); d [i] = .. lebih cepat, 1.5W kali hanya membutuhkan 80-90ms, tetapi fungsinya jauh lebih lemah, jadi Anda masih menggunakan kamus.
Lihat tes resmi di bawah ini
untuk (vari = 0; i <15000; i ++) {
Application.lock ();
Application.staticObjects ("dict"). Item (i) = "sdfdsffdsaf";
Application.unlock ();}
Waktunya selama 6953ms. Awalnya dinilai bahwa kecepatan akses koleksi staticObjects tidak dapat memenuhi persyaratan cache. Kecepatan ini hampir sama dengan waktu ketika AdooledB membaca SQLServer2000.
Namun, saya tidak berencana untuk menyerah segera, karena keuntungan staticObjects adalah bahwa ia dapat menyimpan objek, dan kamus juga dapat menyimpan objek lain, yang dapat digunakan sebagai objek cache, bukan hanya data.
Saya menempatkan objek di application.staticObjects ("Dict"):
Application.staticObjects ("dict"). Item ("o") = newObject ();
untuk (vari = 0; i <15000; i ++) {
Application.lock ();
Application.staticObjects ("dict"). Item ("o") [i] = "sdfdsffdsaf";
Application.unlock ();}
6656ms, sedikit lebih cepat. Satu lapisan objek lagi tidak memperlambat kecepatan. Kecepatan lambat bukan karena struktur yang kompleks, tetapi karena pekerjaan akses statis.
Referensi Dikt Pra-Toko
vart = application.staticObjects ("dict");
untuk (vari = 0; i <15000; i ++) {
Application.lock ();