Pregunta

Actualmente estoy reescribiendo un código PHP 4 en ASP clásico (no pregunte) y tratando de averiguar si hay una mejor manera de cargar un mapa grande en la memoria que simplemente codificar cada par.

Para darle una idea, hay alrededor de 300 pares de valores clave únicos en la definición de matriz hash (o como se llame) en PHP.
Estoy tentado de hacerlo nuevamente en ASP como:

<%
dim map
set map = CreateObject("Scripting.Dictionary")
map.add('key','value')
map.add('key2','value2')
...
%>

Con este mapa cargado en la memoria para cada llamada, ¿hay alguna otra forma de hacerlo que sea más rápida? El único momento en que se usa el mapa es para averiguar si un argumento coincide con una de las claves, de ser así, el valor se extrae y se devuelve.

Gracias por su ayuda.

¿Fue útil?

Solución

Bueno, debe comprender la aplicación y los objetos de sesión en ASP antes de continuar con el proyecto. Supuse que tenía una razón para mantener eso fuera del caché global (como tener que actualizar constantemente el contenido del objeto según las preferencias del usuario)

Todo lo mejor

Otros consejos

Si está utilizando ASP clásico, tendrá que depender de uno de estos objetos. Usar una tabla de base de datos o XML son otras opciones que puede explorar.

Te sugiero que te asegures de no llamar a esto una y otra vez si estás usando esto para unos 300 elementos.

Acabo de enterarme de un caché ASP global que me permitiría construir el mapa una vez, ponerlo en el caché y cualquier solicitud futura puede simplemente sacarlo del caché. El caché se guarda en la memoria, por lo que el rendimiento debería aumentar drásticamente.

<%
Application.Contents(object here)
%>

Saludos

Como dice schar, almacene el objeto del diccionario en el objeto Aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top