Por qué deberías comprar un CPU más rápido
(blog.howardjohn.info)- En los últimos años, el rendimiento de los CPU ha mejorado de forma drástica, pero muchos desarrolladores siguen usando chips móviles antiguos, lo que reduce su productividad
- Los servicios de suscripción de codificación con IA justifican un costo anual de alrededor de $500, lo que es una señal del mercado de que la productividad de los ingenieros de software vale al menos eso
- En cambio, un CPU de gama alta (AMD Ryzen 9 9950X) puede comprarse por $500, y con una depreciación a 3 años cuesta unos $170 al año, por lo que resulta mucho más económico que una suscripción de IA
- Según los benchmarks, un CPU de escritorio moderno ofrece un rendimiento más de 10 veces superior al de un CPU antiguo de laptop, mejorando de forma drástica la velocidad de compilación y pruebas
- Por lo tanto, si se puede justificar una suscripción de IA, la mejor inversión para maximizar la productividad de desarrollo es un CPU rápido
CPU y productividad
- Los CPU modernos han mejorado alrededor de 3 veces frente a hace 3 años, y los CPU de escritorio son aproximadamente 3 veces más rápidos que los de laptop
- Los VM en la nube también mejoran entre 2 y 3 veces con cada nueva generación, mientras que el precio se mantiene similar
- Por eso, actualizar el CPU es la forma más segura de asegurar productividad a largo plazo
Comparación de valor por costo
- Las suscripciones a herramientas de codificación con IA (por ejemplo, Cursor) se han vuelto populares, y el plan para equipos cuesta alrededor de $480~500 al año
- Otros servicios manejan rangos de precio similares, lo que demuestra que la productividad de ingeniería tiene un valor mínimo de $500 al año
- El CPU tope de gama AMD Ryzen 9 9950X cuesta $500
- Si una empresa amortiza en línea recta el costo de una máquina de desarrollo durante 3 años, eso equivale a $170 al año
- Incluso una mejora de productividad del 1% frente al salario de un ingeniero ya ofrece valor suficiente respecto al costo
Resultados de benchmarks
- Se hicieron benchmarks de compilación del kernel de Linux y operaciones TLS en estos 3 tipos de máquina
- Laptop entregada por la empresa en 2024 (i7-1165G7, lanzado en 2020)
- El ThinkPad más rápido que se podía comprar en 2024 (AMD Ryzen 7840U)
- El CPU de escritorio más rápido que se podrá comprar en 2025 (AMD Ryzen 9950X)
-
Linux Kernel Compilation 6.15 (en segundos, menor es mejor)
- AMD Ryzen 9 9950X (16 núcleos): 48 segundos
- AMD Ryzen 7 7840U: 194 segundos
- Intel Core i7-1165G7: 349 segundos
→ El escritorio moderno es aproximadamente 7 veces más rápido que la laptop antigua
-
OpenSSL 3.3 (AES-256-GCM, en throughput, mayor es mejor)
- AMD Ryzen 9 9950X: 386.1 mil millones de byte/s
- AMD Ryzen 7 7840U: 69.6 mil millones de byte/s
- Intel Core i7-1165G7: 33.4 mil millones de byte/s
→ El escritorio moderno es 11 a 12 veces más rápido que la laptop antigua
- Resultado: se confirmó una diferencia de rendimiento de más de 10 veces en compilación del kernel de Linux y operaciones TLS
- Ejemplo: reducir el tiempo de build de 30 segundos → 3 segundos, o de 3 segundos → 300 ms, cambia por completo la experiencia de trabajo
Conclusión
- Según la experiencia general
- Los CPU de escritorio son aproximadamente 3 veces más rápidos que los CPU de laptop
- Los CPU de gama más alta son aproximadamente 3 veces más rápidos que modelos equivalentes de hace 3 años
- En los VM de la nube esta tendencia también se mantiene; con cada generación son 2 a 3 veces más rápidos en la mayoría de las cargas de trabajo, y el precio casi no cambia
- Si una suscripción de IA es una inversión razonable, entonces comprar un CPU de gama alta por el mismo costo o incluso menos también está justificado
- La herramienta más efectiva para mejorar la productividad de los desarrolladores es un CPU rápido
10 comentarios
Compilar el kernel en menos de 1 minuto... qué felicidad.
Uf... siento que fue ayer cuando dejaba compilando y me ponía a charlar 10 o 20 minutos... ¿1 minuto, en serio...?
Al final, un CPU más rápido tiene muchos costos ocultos.
Yo noto más la falta de RAM que la del CPU.
No sé si tiene mucho sentido comparar una desktop moderna con una laptop vieja.
Desde el principio, el tono del texto no parece ser que esté defendiendo seriamente que hay que comprar una 9950X, ¿no? Más bien suena como una especie de broma, ¿no? jaja
Aun así, un CPU demasiado viejo sí que claramente termina afectando el desarrollo.
Yo a veces desarrollo con un CPU parecido al de la laptop vieja que mencionan en el texto, y de verdad hay una gran diferencia en el nivel de concentración.
Creo que afirmar una mejora de rendimiento de 3 veces en 3 años sin siquiera presentar datos de benchmarks es una exageración.
Más que para comparar especificaciones, creo que quizá quería hablar de la eficiencia según el CPU. Jaja
Ah... 9950X... lo compré por 1 millón de wones...
Comentarios en Hacker News
Cuando trabajaba en una FAANG, alguna vez calculamos con trabajo real el efecto de reducir tiempos de espera y el ROI frente al costo laboral de desarrolladores al entregarles máquinas de 16 GB versus 64 GB; especialmente en desarrolladores senior, el retorno de la inversión se veía en cuestión de semanas. Con base en esa experiencia, creo que al elegir hardware para ingenieros de software casi siempre tiene sentido renovarles la Macbook Pro con la mejor configuración cada 2-3 años. Ojo: esto puede no aplicar fuera de escritorios o para otros roles.
Numéricamente suena razonable, pero tengo dudas de que la productividad de un desarrollador pueda cuantificarse tan fácilmente. Algunos estudios de psicología sostienen que cada persona tiene una cantidad total más o menos fija de concentración utilizable al día. En la práctica, también me ha pasado que aprovechar esos tiempos de espera para descansar un poco me ayuda a guardar energía para el siguiente tramo de pensamiento profundo.
La mayoría de mis amigos en FAANG trabajan sobre servidores remotos. Edición remota, builds remotos, y los builds se procesan en cientos o miles de builders en red. Hacer más rápida la máquina local casi no cambia nada en la práctica.
En FAANG administran centralmente las PCs. Dejando de lado las cuestiones éticas de un nivel de monitoreo así, si de verdad quisieras validar el efecto, me gustaría limitar el uso de memoria del OS y rastrear métricas reales como cantidad de PRs, tiempo activo en el teclado, etc.
Quiero trabajar en un escritorio Linux de verdad, no en una Macbook Pro. Ya me cansé de usar en una PC de trabajo chips móviles que se ralentizan por temperatura.
Entiendo la intención, pero en la práctica es difícil incluso predecir con precisión cuánto tardará un proyecto. Es raro que una computadora rápida realmente “te ahorre tiempo”; al final suele ser más bien un problema binario de “¿esto corre o no corre?” o un factor ambiental que te hace sentir frustración repetidamente por esperas innecesarias. Por apenas 1,000 dólares puedes eliminar eso de esperar 10 minutos al día.
Estoy pensando si sigue siendo buena idea seguir usando CPUs viejos. Todavía uso como PC principal un 6600 (65W) lanzado en 2016. También cambié el SSD (uno SLC de 2011, esperando buena durabilidad) y subí la memoria a 32 GB comprando barato en aliexpress. El monitor lo cambié de un Eizo FlexScan 1932 que usé por 15 años a un RadiForce 191M. Combina bien con software para reducir luz azul como f.lux o redshift. Con una sola tarjeta gráfica 3050 de bajo consumo, incluso juegos de este año corren sin problema a 60 fps. Compilar tampoco da problemas. Me parece razonable seguir así hasta que primero falle la motherboard.
Yo también llevo años usando un E5-2650v2 que saqué de un servidor, comprado por $50, en una motherboard mATX china. Tiene un SSD 970 Evo, 24 GB de DDR3 disparejo, y cubre tanto mi home server como mi entorno de desarrollo (Incus containerizado). Cada año pienso “ya toca renovarlo”, pero en la práctica aguanta tan bien que no siento necesidad real de cambiarlo.
En lugar de un SSD SLC puro de 2011, hoy puedes comprar por menos dinero un SSD moderno con una caché SLC más grande.
En realidad cambia mucho según para qué lo uses. Yo cubro tareas cotidianas sin problema incluso con una laptop Core 2 Duo de 2.4 GHz de hace 17 años y 4 GB de RAM. Si mucha gente no tolera un entorno así, normalmente es porque su trabajo es bastante más pesado.
Depende del juego. Antes usaba un 7700k, pero me cambié a un 5700X3D porque Factorio ya le pesaba. En Path of Exile 2, incluso con CPUs modernos apenas se sostienen 30 fps en combates grandes.
Yo prefiero menos calor, así que hace 2 años actualicé a un Ryzen 5700. Rara vez uso todos los núcleos, y gracias al rendimiento de refrigeración casi no se escucha el ruido de los ventiladores.
Hay puntos de inflexión en el valor de un CPU. 1) CPUs con suficiente rendimiento para manejar sin problema la mayoría de los trabajos durante 10 años. 2) A veces aparecen CPUs que durante mucho tiempo se consideran mejores en rendimiento real incluso que sus sucesores. El i7-4770 fue un caso representativo: hasta antes de la 10ª generación se usaba mejor que varios modelos posteriores. No fue sino hasta el i7-12700 que apareció un reemplazo parecido, y el i5-12400 se puede recomendar por relación precio/rendimiento. Desde la 13ª generación Intel cambió a la estructura de núcleos E/P, y todavía siento que la 12ª generación es más adecuada para un escritorio nuevo. El AMD Ryzen 9950x también es un chip brutal; lo usé en el armado personalizado de un amigo y parece que va a durar hasta 2035.
Las grandes empresas quieren economías de escala. Compran de una sola vez muchísimas computadoras con la misma configuración y reparten a todos la misma máquina durante varios años. Así los fabricantes (Dell, HP) bajan muchísimo el precio unitario al venderles. Pueden comprar PCs de especificaciones muy altas por menos de la mitad de lo que paga un consumidor normal, pero con el tiempo esas especificaciones quedan fijas y eventualmente todo se vuelve más lento.
El artículo original se saltó varios pasos importantes: falta explicar cuánto impacta de verdad un CPU más rápido en el desempeño del desarrollador. Si una compilación tarda 30 segundos, el desarrollador se pone a revisar el correo o redes sociales y pierde el hilo; bajarlo a 3 segundos tiene un efecto enorme para mantener el “flow”. Pero falta la metodología para reducir ese tiempo de compilación subiendo la velocidad del CPU. Por ejemplo, si el compilador está limitado por IO o RAM, subir solo el CPU tiene un techo. Al final, cuando eliminas un cuello de botella, aparece el siguiente, y hay un límite al aumento de rendimiento total.
Mi jefe me compró el servidor más potente posible; costó 15 mil dólares. Cuando intenté usar más de 40 de sus 56 núcleos, los tiempos de build hasta aumentaban o la mejora era mínima. Al final concluimos que el cuello de botella probablemente era el ancho de banda de memoria, aunque no sé cómo demostrarlo.
No creo que sea común que el compilador esté limitado por IO. Sí puede estar limitado por RAM, pero los CPUs modernos también mejoran la velocidad de intercambio con la RAM, así que eso puede ayudar en parte. Tan solo duplicar la velocidad de respuesta del LSP (Language Server Protocol) ya ayuda muchísimo a mantener el flow.
Incluso si aumentas mucho los núcleos para compilar, hay que recordar que el linker (link time) en la práctica depende de un solo núcleo, así que ese sí se vuelve el cuello de botella real.
Hoy en día, más que un entorno donde el compilador sea el cuello de botella, el problema son otras esperas: sacar el teléfono por Microsoft MFA, esperar permisos temporales por PIM, etc. Ya pasó la época en que la espera más lenta era una compilación de 30 segundos.
Hoy no es tan común que solo con mejorar el hardware conviertas 30 segundos en 3. Tal vez sí si la compra inicial fue extremadamente barata, pero como el artículo compara laptops con escritorios, entonces la conclusión debería ser más bien “compremos dos computadoras”.
Cada vez que armo un escritorio nuevo siempre prefiero rendimiento de gama alta y también considero caché y consumo eléctrico (hubo épocas en que me importaba mucho el consumo). Desde los tiempos del dual Pentium Pro hasta un Xeon E3-1245 v3 más reciente (con 32 GB de RAM de primer nivel en 2012), recién últimamente he sentido que empezó a ponerse un poco lento, y creo que se debe sobre todo a los parches de seguridad de Windows. Aunque gastes unos cientos de dólares extra al inicio, te dura muchísimo más tiempo.
Un punto importante que el autor pasó por alto: al hablar de CPUs de laptop no mencionó algo clave. En laptops premium, el límite térmico es la restricción principal. Incluso con un mejor CPU, conviene más el que sea más eficiente. Al elegir marca, es importante buscar una con un diseño de refrigeración bien resuelto.
Es físicamente imposible meter en una laptop la refrigeración y la energía equivalentes a un CPU de escritorio de gama alta. Casi la única forma sería conectar un puerto para loop de refrigeración líquida externa, pero para eso mejor usar un escritorio. También hay que considerar las ventajas del escritorio en periféricos, múltiples monitores, etc. Me cuesta entender por qué tantos desarrolladores quieren trabajar sí o sí en laptop. Tal vez el logo de la manzana influye bastante.
(yo, desarrollando tímidamente en una Macbook Air fanless…)
Depende del tipo de trabajo. Hace poco armé una PC nueva de varios miles de dólares con un CPU de 24 núcleos, y los builds de
gccen docker sí se aceleraron muchísimo. Pero, en cambio, el build de una app Angular es incluso un poco más lento que en mi Macbook anterior. Hasta dividí librerías y optimicé el paralelismo con turbo, pero igual que un cambio de CSS tarde 6-10 segundos en reflejarse en el navegador es realmente doloroso. Cuando eso se acumula, termina sumando irritación y cansancio.En trabajos que aprovechan muchos núcleos, como C/C++, sí se nota claramente la diferencia de rendimiento. Aun así, el rendimiento por núcleo de un AMD Ryzen 9 9950X de 16 núcleos es solo 1.8x más rápido que el de una vieja laptop i5 de 4 núcleos, ver comparación de benchmarks de CPU. Ojalá llegue el día en que tengamos una PC ARM de 1000 núcleos con 1 TB de memoria y podamos entrenar o experimentar con LLMs grandes; si alguien la construye, avíseme.
Yo también salté de golpe de un i3770 (CPU de hace 12 años) a un 9900x. En benchmark la diferencia en single-core es de solo 50%, pero en uso real se siente el doble de rápido. En multithread, casi tres veces más. También probé recientemente una Mac Mini M4 y, en sensación de uso, me pareció mucho más lenta que esos dos escritorios (sobre todo por temas de UI/software). La M4 la uso solo para Xcode.
Yo también me salté más de 5 generaciones de Intel antes de comprar una laptop nueva, y más que el rendimiento, lo realmente significativo fue pasar de una workstation vieja, pesada y ruidosa, a una laptop pequeña y ligera que no hace ruido de ventilador y que se carga suficiente con un adaptador USB-C. El rendimiento es parecido, pero la diferencia en usabilidad es clarísima.
Las empresas, especialmente FANG, también tienden a obsesionarse demasiado con ahorrar en hardware para desarrolladores: limitan número/tamaño de monitores, exigen aprobaciones o certificados médicos para equipo ergonómico, ponen procesos de aprobación para pedir hardware potente, y fijan topes en viajes, alojamiento o vuelos sin ajustar por inflación. Ese tipo de políticas existe. Claro, también hay gente que no hace casi nada y aun así anda con una MacBook de gama alta para tener abiertas 500 pestañas de Chrome, y ese abuso también pasa. Pero incluso eso es un costo muy pequeño frente al salario anual de un desarrollador.
En las startups exitosas que conocí, al principio te daban todo lo que quisieras: equipo, monitores, silla, standing desk, SaaS, DoorDash si te quedabas tarde, etc. Pero llega un punto en que como 25% del personal empieza a abusar en serio, y cuando la empresa revisa costos empiezan las restricciones. Una MacBook Pro, monitores caros, standing desk, iPad y silla de oficina pueden sumar fácilmente miles o decenas de miles de dólares por persona. La gente tiende a usar las políticas de la empresa tratando de llevarlas al límite. También se vuelve más frecuente perder equipos, e incluso aparecen pequeñas trampas como alargar a propósito la hora de salida para pedir comida a domicilio.
En cierto equipo de IT de una FAANG llevan años poniendo la excusa de que los SSD de más de 250 GB están “agotados”. Dicen que es un problema mundial de suministro, pero en realidad parece más bien incompetencia del equipo de abastecimiento. Muchos ingenieros se quejan en chats, y para desarrolladores que ganan más de 300 mil dólares al año es normal comprar un SSD con su propio dinero, instalarlo y no reportarlo a IT. Mientras tanto, en esa empresa puedes levantar una VM en la nube de 100 TB con un clic. La contradicción da risa, pero todos la aceptan.
Cuando tienes decenas o cientos de miles de empleados, unos gastos de hardware o viajes completamente sin límites terminan acumulando montos enormes, así que sí creo que hace falta poner ciertas restricciones. Por culpa de una minoría insensible al dinero la empresa puede salir perdiendo.
Si esas 500 pestañas de Chrome están relacionadas con el trabajo, entonces ayudan a la productividad y no son abuso. A mí me pagan mano de obra que cuesta 100 veces más que la laptop; si la laptop puede quitarme trabajo, entonces prefiero que sea la máquina la que cargue con más de ese trabajo.
El abuso con equipos de gama alta puede escalar rapidísimo a decenas o cientos de miles de dólares. Solo una MacBook Pro de 14 pulgadas con especificaciones máximas pasa de los 7,000 dólares en la Apple Store. Una configuración intermedia de 2,600-3,000 dólares es más que suficiente para trabajar, y la diferencia por encima de eso puede no aportar casi nada a la productividad real. Si multiplicas esa diferencia por un equipo de 20-60 personas, para una startup ya es una carga importante. Si además sumas monitores, sillas, etc., gastar innecesariamente aunque sea un promedio de 2,000 dólares extra por persona ya son 120 mil dólares de golpe. De hecho, hubo una empresa que mantuvo hasta llegar a 150 personas la política de “compra lo que necesites, lo que sea”.)
Hay demasiadas historias de ensueño escritas ahí, así que marea.