1 puntos por GN⁺ 2023-12-30 | 1 comentarios | Compartir por WhatsApp

¿Cuál es el valor de actualizar a una MacBook M3?

  • El objetivo es averiguar si vale la pena actualizar las máquinas de desarrollo de chips M1/M2 a M3.
  • Es difícil cuantificar la productividad de los desarrolladores.
  • Un ciclo de retroalimentación rápido mejora la eficiencia del desarrollador.

Recolección de telemetría de compilación

  • Se hizo seguimiento de la telemetría de compilación en laptops de desarrolladores usando un hot reloader de Go.
  • Se desarrolló una herramienta de compilación propia para rastrear métricas del sistema, métricas de runtime y telemetría de compilación.
  • Los eventos de telemetría se enviaron a un data warehouse.

Análisis de datos

  • El análisis comenzó después de generar datos de alta calidad y construir un conjunto de datos suficiente.
  • No es posible comparar promedios simples porque los tiempos de compilación pueden variar según el sistema.
  • Se usó el nuevo intérprete de código de OpenAI para analizar los datos.

Creación de un asistente de OpenAI

  • Los datos se exportaron a CSV y se proporcionaron a un asistente de OpenAI para su análisis.
  • Se utilizó el modelo gpt-4-1106-preview para el análisis de datos.

Limpieza de datos (fuente de energía, cancelaciones, etc.)

  • Se excluyeron las compilaciones fallidas o canceladas.
  • Como las compilaciones ejecutadas con batería podían tener degradación de rendimiento, solo se consideraron las ejecutadas con corriente alterna.

No todas las compilaciones son iguales

  • Los proyectos de Go están compuestos por varios "paquetes", y el compilador recompila solo cuando hay cambios.
  • Los tiempos de compilación se clasificaron como instantáneos (<3 s), rápidos (<30 s), medios (30 s-1 min) y lentos (1 min+).

Comparación entre M1 y M2

  • Después de depurar los datos de compilaciones exitosas y con corriente alterna, se compararon las plataformas M1 y M2.
  • La M2 Max fue muy superior a la M1 Pro en velocidad de compilación.

Comparación interna de M3

  • Al comparar los tiempos de compilación entre M2 Pro 16GB y M2 Max 32GB, se confirmó que la memoria no tiene un gran impacto.
  • La diferencia de rendimiento entre M3 Pro y M3 Max no justifica la diferencia de precio.

Comparación integral entre M1, M2 y M3

  • La comparación de tiempos de compilación entre las plataformas M1, M2 y M3 mostró que M2 ofrece una gran mejora frente a M1.
  • M3 muestra una mejora leve frente a M2.

¿De verdad la memoria no hace diferencia?

  • Parece que la memoria no tiene un gran impacto en los tiempos de compilación.
  • El análisis de datos sobre el tiempo del linker confirmó que la memoria sí afecta el rendimiento del enlazado.

¡La MacBook M3 ya viene en camino!

  • Se decidió que la nueva laptop Space Black M3 Pro ayudará a mejorar la productividad de los desarrolladores.
  • Los usuarios de M1 planean actualizar a una M3 Pro con 36GB de memoria.
  • Los usuarios de M2 esperarán para actualizar porque el rendimiento actual sigue siendo bueno.

Opinión de GN⁺

  • Este estudio muestra que reducir el tiempo de compilación de los desarrolladores tiene un impacto directo en la mejora de la productividad.
  • Es interesante haber encontrado que, aunque la memoria no influye mucho en el tiempo de compilación, sí puede afectar el tiempo del linker.
  • El método de análisis de datos usando OpenAI puede ser un caso útil también para otras empresas o desarrolladores.

1 comentarios

 
GN⁺ 2023-12-30
Comentarios de Hacker News
  • Resumen del primer comentario:

    • El artículo está bien escrito y usa varios métodos de recopilación y análisis de datos.
    • Pero habría sido más simple y preciso poner las laptops lado a lado y medir los tiempos de compilación en el mismo escenario.
    • Recopilar estadísticas de toda la empresa puede introducir sesgos. Por ejemplo, puede haber diferencias entre las laptops que usan empleados nuevos y antiguos.
    • Señala que el muestreo podría no ser completamente aleatorio ni representativo.
  • Resumen del segundo comentario:

    • Como científico, le interesa cómo los programadores manejan los datos.
    • Hizo gráficos bonitos y automatizó rápido el análisis usando ChatGPT.
    • Sin embargo, no usó regresión lineal a pesar de que había variabilidad según la memoria y el tipo de chip.
    • Hizo histogramas, pero son difíciles de comparar. Podría haber agregado promedios y barras de error o usar funciones de distribución acumulada.
  • Resumen del tercer comentario:

    • Comparte la experiencia de haber trabajado en un proyecto para descargar el stack de desarrollo en AWS en lugar de comprar laptops nuevas para mejorar la productividad de los desarrolladores.
    • Fue un proyecto de varios años y, al final, la conclusión fue que habría sido mejor actualizar las laptops.
  • Resumen del cuarto comentario:

    • Excolaborador principal de Chromium y Node.js, y actual colaborador principal de gRPC Core/C++.
    • No le preocupan mucho los tiempos de compilación. Lo importante es el tamaño y la calidad de la pantalla, y la velocidad del almacenamiento.
    • Usa Bazel para proyectos personales, y el sistema de build influye más que los avances del CPU.
  • Resumen del quinto comentario:

    • Comparte resultados de una investigación personal sobre desarrollo iOS.
    • La diferencia de rendimiento entre M2 Pro y M1 Pro no es grande. M3 Pro está en un nivel similar al M2 Pro.
    • Al final compró una M1 Pro usada y quedó satisfecho. Tiene una muy buena relación costo-rendimiento.
  • Resumen del sexto comentario:

    • Da consejos sobre usar IA para análisis de datos.
    • Usar herramientas como R o Stata es más simple y reproducible.
    • Entender los datos y comprender el mecanismo que los genera es la parte más difícil del análisis de datos.
    • Cuestiona si la tecnología actual de IA realmente puede hacer eso.
  • Resumen del séptimo comentario:

    • Que los desarrolladores puedan ejecutar todo el entorno en una laptop local ya es un gran logro.
    • Menciona que es raro, en una empresa, tener la experiencia de poder ejecutar todo el sistema en una sola máquina.
  • Resumen del octavo comentario:

    • Comentario del autor del artículo.
    • Habla sobre profiling de compilación en Go, construcción de un hot reloader y análisis de datasets de builds usando IA.
    • Concluye que vale la pena actualizar de M1 a M3 Pro. La diferencia entre M2 y M3 no es grande, así que no vale la pena actualizar.
  • Resumen del noveno comentario:

    • Explica el proceso de exportar los datos a CSV y crear un "asistente" con un prompt que describe el objetivo.
    • Opina que sería un gran cambio si Microsoft integrara este proceso en Excel.
  • Resumen del décimo comentario:

    • M3 Pro ofrece un rendimiento un poco mejor que M2 y mucho mejor que M1 Pro.
    • M3 tiene mejor eficiencia energética por rendimiento y mejor rendimiento de renderizado, pero decidió esperar para actualizar hasta que salga un M3 Ultra con más ancho de banda de memoria.