Nuestra aplicación tarda mucho más tiempo en iniciarse después de un reinicio (arranque en frío) que si ya se hubiera abierto una vez (inicio en caliente).Comparación del arranque en frío con el arranque en caliente
La mayoría (si no todos) la diferencia parece provenir de la carga de archivos DLL, cuando los archivos DLL se encuentran en páginas de memoria en caché se cargan mucho más rápido. Intentamos usar ClearMem para simular el reinicio (ya que lleva mucho menos tiempo que en realidad reiniciar) y obtuvimos resultados mixtos, en algunas máquinas parecía simular un reinicio de manera muy consistente y en otras no.
Para resumir mis preguntas son:
- ¿Ha tenido diferencias en el tiempo de lanzamiento entre los arranques en frío y caliente?
- ¿Cómo ha estado con estas diferencias?
- ¿Conoces alguna manera de simular de manera confiable un reinicio?
Editar:
Aclaraciones de Comentarios:
- La aplicación es principalmente C++ nativo con un poco de .NET (el primer ensamblado de .NET que se carga paga por el CLR).
- Estamos buscando mejorar el tiempo de carga, obviamente, hicimos nuestra parte de perfiles y mejoramos los puntos de acceso en nuestro código.
Algo que me olvidé de mencionar fue que obtuvimos algunas mejoras volviendo a basar todos nuestros binarios para que el cargador no tenga que hacerlo en el momento de la carga.
Motti, ¿tiene alguna idea nueva para simular un reinicio? Estoy buscando así para nuestra gran aplicación, pero no encontré una manera sólida –
@Dbger, lo siento, no hice ningún progreso adicional en esto, pasé a diferentes problemas. Buena suerte. – Motti