1 pontos por GN⁺ 2023-12-30 | 1 comentários | Compartilhar no WhatsApp

Qual é o valor de fazer upgrade para um MacBook M3?

  • O objetivo é descobrir se vale a pena atualizar a máquina de desenvolvimento de chips M1/M2 para M3.
  • É difícil quantificar a produtividade de desenvolvedores.
  • Loops de feedback mais rápidos aumentam a eficiência dos desenvolvedores.

Coleta de telemetria de build

  • Uso de um hot reloader em Go para rastrear a telemetria de build em notebooks de desenvolvedores.
  • Desenvolvimento de uma ferramenta própria de build para rastrear métricas em nível de sistema, métricas de runtime e telemetria de build.
  • Envio de eventos de telemetria para um data warehouse.

Análise de dados

  • A análise começa após gerar dados de alta qualidade e construir um conjunto de dados suficiente.
  • Não é possível comparar médias simples, pois o tempo de build pode variar entre sistemas.
  • Uso do novo interpretador de código da OpenAI para analisar os dados.

Criação de um assistente da OpenAI

  • Exportação dos dados para CSV e fornecimento ao assistente da OpenAI para análise.
  • Uso do modelo gpt-4-1106-preview para analisar os dados.

Limpeza dos dados (fonte de energia, cancelamentos etc.)

  • Exclusão de builds que falharam ou foram canceladas.
  • Como builds executadas com bateria podem ter desempenho inferior, foram consideradas apenas as executadas na energia AC.

Nem todos os builds são iguais

  • Projetos em Go são compostos por vários "pacotes", e o compilador recompila apenas quando há mudanças.
  • Os tempos de build são classificados como instantâneo (<3s), rápido (<30s), médio (30s-1min) e lento (1min+).

Comparação entre M1 e M2

  • Comparação entre as plataformas M1 e M2 após limpar os dados de builds bem-sucedidas e na energia AC.
  • O M2 Max é muito mais rápido em build do que o M1 Pro.

Comparação interna do M3

  • A comparação dos tempos de build entre M2 Pro 16GB e M2 Max 32GB confirma que a memória não tem grande impacto.
  • A diferença de desempenho entre M3 Pro e M3 Max não justifica a diferença de preço.

Comparação geral entre M1, M2 e M3

  • A comparação dos tempos de build entre as plataformas M1, M2 e M3 mostra que o M2 traz uma grande melhora em relação ao M1.
  • O M3 apresenta uma pequena melhora em relação ao M2.

Será que a memória realmente não faz diferença?

  • Os resultados indicam que a memória não tem grande impacto no tempo de build.
  • A análise dos dados de tempo do linker confirma que a memória afeta o desempenho de linking.

O MacBook M3 está chegando!

  • Foi decidido que o novo notebook Space Black M3 Pro ajudará a aumentar a produtividade dos desenvolvedores.
  • Usuários de M1 devem fazer upgrade para o M3 Pro com 36GB de memória.
  • Usuários de M2 vão esperar para fazer upgrade, já que o desempenho atual ainda é bom.

Opinião do GN⁺

  • Este estudo mostra que reduzir o tempo de build dos desenvolvedores tem impacto direto no aumento da produtividade.
  • É interessante descobrir que a memória não afeta muito o tempo de build, mas pode influenciar o tempo do linker.
  • O método de análise de dados usando OpenAI pode ser um caso útil também para outras empresas e desenvolvedores.

1 comentários

 
GN⁺ 2023-12-30
Comentários do Hacker News
  • Resumo do primeiro comentário:

    • O texto foi bem escrito e há variedade nos métodos de coleta e análise de dados.
    • Mas teria sido mais simples e preciso colocar os laptops lado a lado e medir o tempo de compilação no mesmo cenário.
    • Coletar estatísticas da empresa inteira pode introduzir viés. Por exemplo, pode haver diferenças entre os laptops usados por funcionários novos e antigos.
    • Aponta que a amostragem pode não ser totalmente aleatória nem representativa.
  • Resumo do segundo comentário:

    • Como cientista, tem interesse em como programadores lidam com dados.
    • Fez gráficos bonitos e automatizou rapidamente a análise com ChatGPT.
    • Porém, não usou regressão linear apesar da variabilidade por memória e tipo de chip.
    • Criou histogramas, mas eles são difíceis de comparar. Poderia ter adicionado médias e barras de erro ou usado uma função de distribuição acumulada.
  • Resumo do terceiro comentário:

    • Compartilha a experiência de ter conduzido um projeto para descarregar a stack de desenvolvimento para a AWS em vez de comprar laptops novos para melhorar a produtividade dos desenvolvedores.
    • Foi um projeto de vários anos e, no fim, a conclusão foi que teria sido melhor fazer upgrade dos laptops.
  • Resumo do quarto comentário:

    • Ex-contribuidor principal do Chromium e Node.js, e atualmente contribuidor principal do gRPC Core/C++.
    • Não se preocupa muito com tempo de build. O importante é o tamanho e a qualidade da tela, além da velocidade do armazenamento.
    • Usa Bazel em projetos pessoais, e o sistema de build tem impacto maior do que a evolução da CPU.
  • Resumo do quinto comentário:

    • Compartilha resultados de uma pesquisa pessoal sobre desenvolvimento iOS.
    • A diferença de desempenho entre o M2 Pro e o M1 Pro não é grande. O M3 Pro fica em nível parecido com o M2 Pro.
    • No fim, comprou um M1 Pro usado e ficou satisfeito. Tem ótima relação custo-benefício.
  • Resumo do sexto comentário:

    • Dá conselhos sobre o uso de IA em análise de dados.
    • Usar ferramentas como R ou Stata é mais simples e reproduzível.
    • Entender os dados e compreender o mecanismo que os gera é a parte mais difícil da análise de dados.
    • Questiona se a tecnologia atual de IA é capaz de fazer isso.
  • Resumo do sétimo comentário:

    • O fato de os desenvolvedores conseguirem executar todo o ambiente no laptop local já é uma grande conquista.
    • Menciona que é raro, em empresas, ter a experiência de executar o sistema inteiro em uma única máquina.
  • Resumo do oitavo comentário:

    • Comentário do autor do texto.
    • Fala sobre profiling de compilação em Go, criação de hot reloader e análise do conjunto de dados de build com IA.
    • Conclui que vale a pena fazer upgrade de M1 para M3 Pro. A diferença entre M2 e M3 não é grande, então não vale o upgrade.
  • Resumo do nono comentário:

    • Explica o processo de exportar os dados para CSV e criar um "assistente" com um prompt explicando o objetivo.
    • Opina que seria uma grande mudança se a Microsoft integrasse esse processo ao Excel.
  • Resumo do décimo comentário:

    • O M3 Pro tem desempenho um pouco melhor que o M2 e é muito superior ao M1 Pro.
    • O M3 tem melhor eficiência por watt e melhor desempenho em renderização, mas decidiu esperar por um M3 Ultra com mais largura de banda de memória antes de fazer upgrade.