Elija un binario C según el entorno.

He compilado mi código con banderas específicas (-Os, -O2, -march = native y sus combinaciones) para producir un tiempo de ejecución más rápido.

Pero mi problema es que no siempre ejecuto en la misma máquina (porque en mi laboratorio hay varias máquinas diferentes). A veces corro en un MacOS o en un Linux (en ambos casos con diferentes versiones de SO).

Me pregunto si hay una manera de determinar qué binario se ejecutará dependiendo del entorno donde se ejecutará el binario (me refiero al tamaño de caché, núcleos de CPU y otras propiedades sobre la máquina específica). En otras palabras, ¿cómo elegir (cuando se carga el programa) el binario más rápido (compilado previamente con diferentes tamaños binarios de destino y extensiones de conjunto de instrucciones) de acuerdo con la máquina específica utilizada?

Gracias por adelantado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta