En el mundo de la arquitectura de computadores, medir el rendimiento basándose únicamente en los gigahercios (GHz) es un error tan antiguo como inexacto. La frecuencia de reloj solo nos indica a qué velocidad “late” el procesador, pero no dice absolutamente nada sobre qué tan eficiente es cada uno de esos latidos. Para desentrañar la verdadera potencia bruta de una microarquitectura, debemos mirar directamente al IPC (Instrucciones por Ciclo).
Aquí es donde entra CoreMark. Lejos de ser un benchmark sintético aleatorio, CoreMark simula cargas de trabajo reales (procesamiento de listas enlazadas, manipulación de matrices y máquinas de estado). Al dividir su puntaje entre la frecuencia exacta a la que corre el chip, obtenemos la métrica de oro indiscutible: CoreMark/MHz. Esta cifra nos revela el IPC real, permitiéndonos comparar procesadores de diferentes generaciones, familias o fabricantes de forma justa, eliminando por completo la ventaja del reloj.
Pero el rendimiento en la era moderna no termina en un solo núcleo. El verdadero desafío de los ingenieros es hacer que múltiples núcleos trabajen en conjunto sin pisarse. Por ello, esta guía no se detiene en el Single-Thread, utilizaremos la misma herramienta y la misma metodología para calcular matemáticamente el factor de escalado de tu procesador, revelando si tu hardware está aprovechando realmente todos sus hilos o si está perdiendo eficiencia por cuellos de botella térmicos, de caché o de memoria.
A continuación, te presento un método de pruebas puro, libre de binarios precompilados de terceros, ejecutado y compilado desde cero directamente en Debian. Vamos a aislar tu CPU, forzar su frecuencia máxima y extraer datos reales y comparables sobre el verdadero rendimiento de tu silicio.
1. Preparar el terreno
Primero, asegúrate de tener las herramientas de compilación y git instalados. Abre tu terminal y ejecuta:
⚠️ Importante (Haz esto antes de empezar): Para que las métricas sean exactas, cierra el navegador y cualquier proceso pesado. Pon tu CPU en modo alto rendimiento para que la frecuencia no baje durante las pruebas:
echo"performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
2. Clonar el repositorio
Vamos a descargar el código directamente desde el repositorio oficial:
git clone https://github.com/eembc/coremark.git
cd coremark
3. Compilar y ejecutar para 1 solo núcleo (Single-Thread)
Vamos a compilar optimizado para tu arquitectura, indicando que el binario resultante se llame coremark_single para evitarnos lios.
# Compilar específicamente para un solo hilo y renombrar el ejecutable
make PORT_LINUX=linux-gnu-gcc TARGET=coremark_single XCFLAGS="-DPERFORMANCE_RUN=1"
Una vez termine, lanza la prueba con estos parámetros (el 500000 asegura que correrá el tiempo suficiente sin importar lo rápida que sea tu CPU):
CoreMark es un benchmark multiplataforma diseñado específicamente para ser portátil y ejecutarse en una gran variedad de arquitecturas de procesadores. El mismo repositorio oficial que usaste para x86 sirve como base para ARM y RISC-V, pero requiere un proceso de compilación cruzada (cross-compilation) cuando tu máquina Debian es x86 y quieres generar binarios para estas arquitecturas.
Antes de compilar, necesitas instalar los compiladores cruzados. En Debian, esto es sencillo con apt:
# Para ARM (ej: Raspberry Pi, placas Cortex-A)sudo apt install gcc-arm-linux-gnueabihf
# Para ARM64 (ej: placas modernas de 64-bit)sudo apt install gcc-aarch64-linux-gnu
# Para RISC-V (ej: placas SiFive, VisionFive)sudo apt install gcc-riscv64-linux-gnu
# Para sistemas bare-metal (sin OS), instala los toolchains 'elf':sudo apt install gcc-arm-none-eabi # Para microcontroladores ARM Cortex-Msudo apt install gcc-riscv64-unknown-elf # Para RISC-V bare-metal
3.1.1 Compilación para ARM Linux (Cortex-A, etc.)
El repositorio CoreMark incluye un puerto para Linux genérico que funciona en ARM. La clave es especificar el compilador cruzado correcto. Para single-core:
# Compilar para ARM64 (Single-Thread)
make PORT_LINUX=linux \CC=aarch64-linux-gnu-gcc \AR=aarch64-linux-gnu-ar \RANLIB=aarch64-linux-gnu-ranlib \XCFLAGS="-O2 -DPERFORMANCE_RUN=1 -march=armv8-a"
Para multi-thread:
# Soporte multi-hilo de 4 núcleos
make PORT_LINUX=linux \CC=aarch64-linux-gnu-gcc \AR=aarch64-linux-gnu-ar \RANLIB=aarch64-linux-gnu-ranlib \XCFLAGS="-O2 -DMULTITHREAD=4 -DUSE_PTHREAD -pthread -march=armv8-a"
Si tu sistema es de 32 bits (Raspberry Pi antiguas o versiones de OS de 32 bits), cambia todos los prefijos aarch64- por arm-linux-gnueabihf-.
3.1.2 Compilación para RISC-V Linux
El proceso es análogo al de ARM. Solo necesitas usar el toolchain de RISC-V:
# Compilar para RISC-V 64-bit (Single-Thread)
make PORT_LINUX=linux \CC=riscv64-linux-gnu-gcc \AR=riscv64-linux-gnu-ar \RANLIB=riscv64-linux-gnu-ranlib \XCFLAGS="-O2 -DPERFORMANCE_RUN=1 -march=rv64gc"
# Compilar para RISC-V 64-bit (Multi-Thread 4 núcleos)
make PORT_LINUX=linux \CC=riscv64-linux-gnu-gcc \AR=riscv64-linux-gnu-ar \RANLIB=riscv64-linux-gnu-ranlib \XCFLAGS="-O2 -DMULTITHREAD=4 -DUSE_PTHREAD -pthread -march=rv64gc"
Si tu sistema es de 32 bits, cambia todos los prefijos riscv64- por riscv32-.
Como pequeño tip por si se pierde:
Arquitectura
Prefijo del Toolchain
Flag de Arquitectura (-march)
ARM 64-bit
aarch64-linux-gnu-
armv8-a
ARM 32-bit
arm-linux-gnueabihf-
armv7-a (o armv6 para RPi 1)
RISC-V 64-bit
riscv64-linux-gnu-
rv64gc
RISC-V 32-bit
riscv32-linux-gnu-
rv32gc
Eso si, recordar que existen muchas variantes de RISC-V (RV32, RV64, con diferentes extensiones). Asegúrate de que tu toolchain coincida con la arquitectura exacta de tu placa. Si tu placa usa un perfil bare-metal (sin Linux), necesitarás un porting diferente.
4. Calcular el IPC (Eficiencia por núcleo)
Busca en la terminal la línea que dice: Iterations/Sec : XXXXXX.XXXXXX. Este es tu puntaje Single-Core.
Frecuencia Real: Abre otra terminal y ejecuta watch grep "cpu MHz" /proc/cpuinfo para ver a qué velocidad exacta corrió tu CPU, tambien podrias ejecutar el clasico htop o btop. Supongamos que es 4200 MHz. Nos interesa que esta frecuencia media sea sostenida durante el mayor tiempo posible debido a que a veces el CPU hace un “turbo” los primeros 2 segundos y luego baja.
La Fórmula del IPC:
\(\text{IPC (CoreMark/MHz)} = \frac{\text{Iterations/Sec (Single)}}{\text{Frecuencia en MHz}}\)
Ejemplo típico de un Zen 2:
Si obtienes 18,900 Iterations/Sec y tu frecuencia es 4,200 MHz:
\(\frac{18900}{4200} = 4.5 \text{ CoreMark/MHz}\)
(Esto dice que, en promedio, el procesador está terminando 4.5 instrucciones por cada ciclo de reloj en un solo núcleo).
5. Compilar y ejecutar para varios núcleos (Multi-Thread)
Ahora vamos a borrar la compilación anterior y a preparar la prueba multihilo para ver el poder total de tu procesador.
# Limpiamos la compilación anterior
make clean
# Compilamos activando MULTITHREAD con X numero de hilos del sistema detectados:
make XCFLAGS="-DMULTITHREAD=$(nproc) -DUSE_PTHREAD -pthread"
Ejecutamos la prueba multihilo con los mismos parámetros, revisa la carpeta donde tienes el binario, en mi caso de compilacion termina con un .exe, esto no es un archivo de windows por si las dudas, es un binario ELF (Linux Executable) que se acaba de compilar específicamente para tu procesador y tu sistema, en mi caso Debian.
./coremark.exe 0x3415 0x3415 0x66 500000 7 1 2000
6. Calcular el escalado de núcleos
Vuelve a buscar la línea Iterations/Sec : XXXXXX.XXXXXX en el resultado de esta última prueba. Ahora vamos a cruzar ambos datos para ver qué tan bien escalan tus núcleos al trabajar en conjunto.
La Fórmula:
\(\text{Factor de Escalado} = \frac{\text{Iterations/Sec (Multi)}}{\text{Iterations/Sec (Single)}}\)
Ejemplo con datos reales:
Single Core: 29,455.08 Iterations/Sec.
Multi Core (8 hilos): 172,659.38 Iterations/Sec.
Si dividimos el resultado Multi entre el Single:
\(\frac{172,659}{29,455} \approx 5.86\)
Tendriamos un escalado de 5.86x. (Nota: Es completamente normal que en 8 núcleos el escalado no sea 8x perfecto debido a la sobrecarga del sistema y la compartición de caché/L3, por lo que un 5.86x es un resultado excelente y asi tambien podemos decirlo de configuraciones con mas nucleos, no es directamente proporcional al numero de hilos).
7. Escalabilidad:
Sobre el tema de la escala podria decirse que si tu factor de escalado es:
Cercano al número de núcleos FÍSICOS: Tu CPU está escalando de forma casi perfecta.
Mayor al número de núcleos FÍSICOS (pero menor a los hilos): Estás viendo el beneficio real del SMT/Hyper-Threading (como tu 5.86x en un 4 núcleos/8 hilos).
Muy por debajo de los núcleos físicos: Probablemente tienes un cuello de botella en la temperatura (Thermal Throttling) o en el ancho de banda de la memoria RAM.
A continuacion presento mi tabla de procesadores donde he ejecutado tal cual estas pruebas:
Procesador
Arquitectura
Núcleos/Hilos
Frecuencia Sostenida (MHz)
Versión GCC
Kernel Linux
Single-Core (It/s)
Multi-Core (It/s)
CoreMark/MHz (IPC)
Factor Escalado
Ryzen 3 4100
x86_64
4/8
~4090
14.2
6.19.8+deb13-amd64
29.455,08
172.659,38
7.20
5.86x
Si quieres obtener datos rapidos:
Procesador y Núcleos: lscpu | grep -E "Model name|CPU\(s\):|Thread\(s\) per core"
Kernel: uname -a
Versión de GCC: gcc --version | head -n 1
Frecuencia exacta durante el test: watch -n 1 "grep 'cpu MHz' /proc/cpuinfo" (mira la terminal mientras corre el benchmark).
El siguiente texto fue redactado originalmente como una respuesta al video “Los Venezolanos tienen un mensaje para vosotros” del creador de contenido Taisontv. Tras varios intentos de publicación en YouTube y X (Twitter), el sistema de filtrado algorítmico y el shadowban impidieron que este análisis llegara a su destinatario el día de hoy.
Resulta paradójico que, en un discurso que clama por la libertad y la democracia, el debate racional sea silenciado por la arquitectura de las plataformas actuales. He decidido alojar aquí la respuesta íntegra, sin ediciones, para que el registro histórico y el análisis geopolítico no dependan de la voluntad de un algoritmo o de la cámara de eco de una comunidad de videojuegos.
A continuación, el texto original:
Zapatero a sus zapatos, Taison, creo que es el consejo que puedo hacer. Si tu contenido es sobre videojuegos, noticias y mantener una comunidad, lo mejor es enfocarse en eso, dejar los temas de geopolítica y relaciones internacionales, porque simplemente no es lo tuyo. Pero así como tú has dicho una opinión, cualquiera puede responder y esta es mi forma de hacerlo. No va con ánimo de ofender ni mucho menos, se trata de darle el matiz de la realidad compleja en la que vivimos y no simplemente que esto sea una historia de Call of Duty mal contada con pura propaganda yanki.
El principal problema que yo veo en tu video es que incurre en simplificaciones peligrosas que ignoran la historia del siglo XX y XXI. Su discurso, más cercano al guion de un shooter militar que a la realidad política, romantiza la intervención extranjera como un acto de altruismo, cuando la evidencia histórica dicta lo contrario. Y más en los dos siglos que menciono anteriormente: aquí no hay un valor per se en la libertad más allá del interés del interventor, todo lo demás es, literalmente, tierra quemada.
No puedes caer en la ingenuidad de creer que las potencias mundiales movilizan flotas y gastan millones por “defender la democracia”. En el siglo XX, la historia de América Latina está marcada por intervenciones que no buscaron liberar a nadie, sino asegurar gobiernos sumisos. Desde el apoyo a las dictaduras militares en el Cono Sur para “contener el comunismo”, dejando a su paso decenas de miles de desaparecidos y torturados, hasta invasiones como la de Panamá o Granada, el resultado nunca fue la soberanía popular, sino la instalación de administradores fieles a Washington. Incluso, utilizas la WWII para validar un bombardeo actual, pero olvidas la letra pequeña (que incluso fue popular el tema del 5% de la OTAN dentro de España si no me falla mi memoria): los países “liberados” por EE. UU. no recuperaron una soberanía plena, sino que quedaron orbitando bajo su control económico y militar. Desde el Plan Marshall hasta las invasiones en Medio Oriente, el patrón es claro: no hay liberación gratuita. El coste es el todo o nada.
Si avanzamos al siglo XXI, la narrativa de la “liberación” se ha vuelto aún más sangrante y cínica. Basta con mirar Afganistán o Irak, donde la excusa de traer “libertad y democracia” dejó países devastados, con infraestructuras destruidas, gobiernos títeres corruptos y un vacío de poder que alimentó el terrorismo durante décadas. ¿O qué me dices de Libia? Tú mismo mencionaste el caso de Gaddafi en tu video como ejemplo de acción militar, pero olvidaste el desenlace: tras la “intervención humanitaria”, el país colapsó, es hoy un paraíso para el tráfico de esclavos y grupos terroristas, y su petróleo… bueno, su petróleo ya no sirve a los libios, sino que es el botín que se reparten las potencias. Mientras algunos se ufanan de su mano dura en escenarios como Venezuela, en Libia la realidad es más pragmática y oscura: quien gestiona el tablero es un tal Massad Boulos, asegurando que el flujo del crudo responda al viejo y cínico mandato del ‘Big Oil’, donde la soberanía es solo un estorbo para el balance de resultados de las multinacionales.
La realidad geopolítica es tozuda: en estos dos siglos, los países intervenidos no terminan “libres”, terminan al servicio de los intereses estratégicos del vencedor. Celebrar una intervención extranjera sin analizar este historial de “tierra quemada” es ignorar que la medicina que EE.UU. vende suele ser peor que la enfermedad. Lo que vendes como liberación es, históricamente, un cambio de colonizador y en este caso, anuncia el fin de la farsa del derecho post-WWII, lo que oficalmente dice que la fuerza vuelve a ser el medio de la soberania, asi las cosas, solo hay tres naciones del mundo que oficialmente alcanzan dicha condición, todos los que esten abajo son solo el tablero donde estas juegan a su antojo.
En esa línea, estigmatizas las alianzas estratégicas de Venezuela con potencias como Rusia o China como si fueran una entrega voluntaria de soberanía o una “invasión silenciosa”, pero ignora deliberadamente la causalidad más básica de la política internacional: la lógica de la supervivencia. Cuando una nación es sometida a un asedio financiero, sanciones unilaterales y un bloqueo comercial que busca su quiebra sistémica, buscar aliados alternativos que permitan continuar operando no es ideología, es pura supervivencia del Estado. Si EE.UU. cierra la puerta, la lógica realpolitik dicta que el país deba buscarla donde esté abierta, ya sea para vender su crudo, refinar sus combustibles o adquirir repuestos militares, denigrar esto como “traición” es desconocer que es una respuesta forzada ante la asfixia, no una libre elección.
Aún más grave es la mentira del petróleo “perdido”. Afirmar esto es un error de lectura de la realidad del poder. Incluso la retórica de Trump al referirse a Maduro reconoce implícitamente que él es quien detenta el control del Estado y, por ende, de los recursos, si el régimen no tuviera el control real, no tendría sentido la operación militar. La amenaza real de Washington no es devolverle el recurso al pueblo, sino asegurar la reinserción de capitales para el beneficio exclusivo de sus empresas. Por eso, sostener que “cualquier cambio es mejor que la miseria actual” es de una ingenuidad criminal. Las intervenciones estadounidenses del siglo XXI que ya citamos, Libia, Irak, Afganistán, demuestran fehacientemente que tras la “ayuda” militar no llega la prosperidad, sino estados fallidos, guerras civiles y una miseria aún más profunda y sangrienta que la crisis económica que se pretende resolver. Lo que tu celebras como “liberación” es, en los hechos, el boleto de entrada a un colapso institucional planificado que es la antesala de rios de sangre.
Es igualmente ridículo recurrir a la teoría de la conspiración de la “izquierda financiada”. Mientras insinúas que quien critica la intervención está pagado por el régimen, ignora la realidad palpable del soft power de Washington. No se trata de teorías, sino de hechos: existen fundaciones, think tanks y ONGs estadounidenses invirtiendo millones en Europa y América Latina para alimentar exactamente la narrativa de la que te haces eco: justificar cambios de régimen y aumentar el gasto en defensa mientras se vende una contradicción absurda: que Rusia es una amenaza existencial inminente para Europa, pero que al mismo tiempo su ejército es un desastre que combate en burros contra ucrania y así hasta el infinito. Si bien dices ser escéptico frente a la manipulación, estás dentro del espectro ideológico de la potencia más rica del planeta sin cuestionarlo, mientras critica a los que simplemente no creen en sus “héroes” de uniforme.
Esa ingenuidad alcanza su clímax con la falacia de la “opción preferible”. Sostener que “cualquier cambio en la gestión del recurso es preferible a la miseria absoluta actual” es desconocer la historia reciente, cosa que ya he dicho anteriormente. Las intervenciones estadounidenses en el siglo XXI no han traído prosperidad, sino un tipo de miseria infinitamente peor: la miseria de la guerra, los campos de refugiados y los estados fallidos. Cambiar una crisis económica por una crisis bélica no es un progreso, es un suicidio nacional que se lleva a todos por delante. La medicina que promete Washington ha demostrado ser más letal que la enfermedad en Irak o Afganistán, asumir que en Venezuela será distinto es pura fe ciega en la propaganda.
Finalmente, hay una contradicción flagrante en el tema del “fraude” y el reconocimiento de poder. Se insiste en que Maduro es un usurpador sin legitimidad, pero al mismo tiempo se reconoce implícitamente que el poder de facto en Venezuela lo tiene el chavismo. Si Maduro fuera realmente un presidente sin poder ni influencia, como a veces se quiere pintar para minimizar su apoyo interno, una operación militar de la magnitud que estas celebrando no tendría sentido ni sería necesaria. Incluso la retórica de Trump reconoce tácitamente que quien controla el aparato estatal es Maduro, por eso no ha hablado con la oposicion (que mas arrastrada en sus declaraciones no puede ser). Por ende, hay una legitimidad de facto: la del control territorial y militar, pura teoria politica republicana. Pretender que se puede intervenir para “devolver” el poder a una oposición que no tiene control sobre las calles ni las instituciones es engañar a la audiencia vendiendo una victoria que es, en realidad, una ocupación extranjera.
Para rematar, recurres a la etiqueta del “Narcoestado” como si fuera un hecho probado para deslegitimar al gobierno. Es curioso que en Ecuador, bajo el mandato de Noboa, sí vemos movimientos de cárteles y violencia de estado evidente, pero en el caso venezolano el famoso “Cartel de los Soles” ha sido un argumento político recurrente más que una evidencia judicial demostrada. Ni siquiera el propio sistema judicial de EE.UU. ha logrado consolidar condenas sólidas que demuestren una estructura estatal dedicada al narcotráfico como política de gobierno de manera comparable a otros casos de la región. Para estos, ejemplos sobran: desde la Honduras de Juan Orlando Hernández, aliado mimado de Washington mientras su estructura enviaba toneladas de droga al norte, pasando por la Panamá de Noriega, quien fue empleado de la CIA mientras cobraba nómina del Cártel de Medellín, sobrevolando por el borrón y cuenta nueva con el General Cienfuegos en México por pura conveniencia diplomática hasta el silencio cómplice ante la metástasis del narco en el Ecuador de Noboa que ahora tiene su pais en una grave crisis. Usar estas etiquetas sin pruebas firmes es simplemente el viejo truco de desinformación para deshumanizar al enemigo y crear un casus belli artificial.
Todo esto nos lleva a lo más perturbador: la empatía selectiva de un “Gamer”. Tienes una carrera basada en shooters militares como Battlefield o Call of Duty, juegos que glorifican la maquinaria de guerra y simplifican los conflictos globales a “buenos contra malos”. El problema es que te has creído el guion. Jugar a ser soldado en la pantalla no te da autoridad moral para ignorar la historia, al contrario, parece haber nublado tu percepción de la guerra real. Para los países que sufren una intervención estadounidense, no hay respawns, ni misiones ganadas con música épica, hay muertos, heridas y ruinas. Celebrar una invasión desde la comodidad de una silla gamer es el colmo de la frivolidad humana. Tu empatía se queda en la pantalla, la realidad sangra fuera de ella y es insultante que uses el sufrimiento ajeno para alimentar una narrativa de videojuego.
Taison, la geopolítica no es un mapa de Deathmatch. Invitar a la fuerza extranjera no es el final feliz de la película de acción que te has montado en la cabeza, este probablemente pueda ser el comienzo del fin para la soberanía de una nación y el inicio de una epoca oscura para todos los paises que son fichas de ajedrez. Deja de reducir el sufrimiento complejo de millones de personas a un meme de “liberación” yanki. Si de verdad te importa Venezuela, deja de pedir que la bombardeen y empieza a entender que la verdadera independencia no la traen los marines, sino la construcción de una autonomía que nadie parece dispuesto a respetar. Zapatero a tus zapatos, hermano. Te llevo viendo mucho tiempo, pero este en definitiva es tu peor video, y no por el tema de Venezuela en sí, sino por todo lo que parece representar en su trasfondo.