real rae para mejor internet gratis full española español diccionario descargar conexion celular app academia optimization asp-classic vbscript dictionary scripting.dictionary

optimization - para - diccionario rae apk full sin internet



Variables de aplicación Diccionario/Cliente VS (3)

Absolutamente sugiero cargar el diccionario solo una vez, ya que el objeto del diccionario es pesado en términos de memoria, lento en términos de búsqueda y el grande: no siempre se destruye en la memoria cuando se cree que debería ser. Por lo tanto, incluso después de que un usuario haya salido de la página, este objeto aún puede permanecer en la memoria esperando a ser eliminado (incluso si lo "destruye" explícitamente). Ahora multiplica ese número de visitas de página por visita por usuario ...

Un método alternativo y más ligero de memoria sería usar una matriz: unidimensional si puede mantener el seguimiento del índice en algún lugar (mejor), o bidimensional con una función de búsqueda si es necesario (sin duda, si otros mantienen el código ahora o en el futuro).

Hola, tengo una pregunta sobre el rendimiento de mi servidor ... tengo un servidor de asp cms clásico ~ 250 sitios web, para cada sitio web creamos un diccionario ASP clásico usando

set dict = CreateObject("Scripting.Dictionary") dict.add "test1","Value Test1" dict.add "test2","Value Test2" dict.add "test3","Value Test3"

ese diccionario se carga en cada página para cada usuario ...

digamos que obtuvimos unos ~ 150 000 usuarios visitando esos sitios web cargando mensualmente ese diccionario de aproximadamente ~ 100k cada carga ...

¿Debo usar la variable de aplicación como diccionario en lugar de cargar mi diccionario todo el tiempo?

y ¿realmente va a mejorar el rendimiento de mi servidor?


Ciertamente, cargar un diccionario para cada solicitud ASP definitivamente es una mala idea y no solo dañará su rendimiento sino que también fragmentará su memoria virtual.

Por el contrario, usar una matriz todavía tiene el mismo problema, cada solicitud debería asignar toda la memoria necesaria para mantenerla y aún necesita rellenar cada solicitud.

La respuesta simple sería sí, use el objeto de la aplicación como el diccionario. Esto le costará mucho menos en memoria y CPU. La desventaja es ¿colisiona con el uso de objetos de aplicaciones existentes? Es posible que necesite agregar un prefijo a sus claves para evitar este problema.


Estoy bastante seguro de que la creación de instancias de un solo script.dictionary en cada página no debería ser un problema en ningún sitio web. Si el rendimiento es un problema, le sugiero que haga un perfil de su página primero para ver dónde está el problema. Existe una gran posibilidad de que haya una consulta no optimizada en algún lugar que requiera más de 100 ms para finalizar.

Ejecutamos un sitio ASP clásico que maneja 200k vistas de página por día y usa scriping.dictionary extensivamente en cada página (más de 25 instancias). Lo usamos como base para todo tipo de cosas. ¿Tiene alguna secuencia de comandos de ejemplo para mostrar que los dict no siempre son destruidos por garbagecollector? ¿O que sus búsquedas son lentas en comparación con cualquier alternativa? El único inconveniente que encontramos es la falta de un método de "clonación".