Me gustaría que mi programa lea el tamaño de la línea de caché de la CPU en la que se está ejecutando en C++.¿Cómo obtener programáticamente el tamaño de página de caché de CPU en C++?
Sé que esto no se puede hacer de forma portátil, por lo que necesitaré una solución para Linux y otra para Windows (las soluciones para otros sistemas podrían ser útiles para otros, así que publíquelas si las conoce).
Para Linux pude leer el contenido de/proc/cpuinfo y analizar la línea que comienza con cache_alignment. Tal vez haya una forma mejor de invocar una API.
Para Windows simplemente no tengo ni idea.
Después de volver a esto, no creo que haya respondido a su pregunta, que era sobre el tamaño de la línea de caché en lugar del tamaño correcto de la página de memoria. https://en.wikipedia.org/wiki/Page_(computer_memory) Estaba buscando en Google un fragmento de tamaño de página (trabajando en un proyecto que implica acceso a la memoria) y vine aquí, los peligros del descremado. Desmarque mi respuesta, pero probablemente valga la pena dejarla aquí para referencia futura. – Researcher