1P by neo 2달전 | favorite | 댓글 1개

M3 맥북 업그레이드의 가치는 무엇인가?

  • M1/M2 칩에서 M3로 개발자 기계를 업그레이드하는 것이 가치가 있는지 알아보기 위함.
  • 개발자 생산성을 정량화하는 것은 어려움.
  • 빠른 피드백 루프가 개발자의 효율성을 높임.

빌드 텔레메트리 수집

  • Go 핫 리로더를 사용하여 개발자 노트북에서 빌드 텔레메트리 추적.
  • 시스템 차원, 런타임 메트릭, 빌드 텔레메트리 등을 추적하기 위해 자체 빌드 도구 개발.
  • 데이터 웨어하우스로 텔레메트리 이벤트 전송.

데이터 분석

  • 고품질 데이터를 생성하고 충분한 데이터셋을 구축한 후 분석 시작.
  • 빌드 시간이 시스템마다 다르게 나타날 수 있으므로 단순 평균 비교는 불가능.
  • OpenAI의 새로운 코드 해석기를 사용하여 데이터 분석.

OpenAI 어시스턴트 생성

  • 데이터를 CSV로 내보내고 OpenAI 어시스턴트에 제공하여 분석.
  • gpt-4-1106-preview 모델을 사용하여 데이터 분석.

데이터 정제 (전원 출처, 취소 등)

  • 실패하거나 취소된 빌드 제외.
  • 배터리 전원에서 실행되는 빌드는 성능 저하 가능성으로 AC 전원에서 실행된 빌드만 고려.

모든 빌드가 동일하지 않음

  • Go 프로젝트는 다양한 '패키지'로 구성되어 있으며, 컴파일러는 변경 사항이 있는 경우에만 재컴파일.
  • 빌드 시간은 즉각적(<3초), 빠름(<30초), 중간(30초-1분), 느림(1분+)으로 분류됨.

M1과 M2 비교

  • AC 전원과 성공적인 빌드 데이터를 정제한 후 M1과 M2 플랫폼 비교.
  • M2 Max가 M1 Pro보다 빌드 속도에서 월등히 빠름.

M3 내부 비교

  • M2 Pro 16GB와 M2 Max 32GB의 빌드 시간 비교를 통해 메모리가 큰 영향을 미치지 않음을 확인.
  • M3 Pro와 M3 Max의 성능 차이가 가격 차이를 정당화하지 못함.

M1, M2, M3 종합 비교

  • M1, M2, M3 플랫폼 간 빌드 시간 비교를 통해 M2가 M1에 비해 큰 향상을 보임.
  • M3는 M2에 비해 소폭 개선됨.

메모리가 정말 차이를 만들지 않는가?

  • 메모리가 빌드 시간에 큰 영향을 미치지 않는 것으로 나타남.
  • 링커 시간에 대한 데이터 분석을 통해 메모리가 링킹 성능에 영향을 미침을 확인.

M3 맥북이 오고 있다!

  • 새로운 Space Black M3 Pro 노트북이 개발자의 생산성 향상에 도움이 될 것으로 결정.
  • M1 사용자는 36GB 메모리를 탑재한 M3 Pro로 업그레이드할 예정.
  • M2 사용자는 현재 성능이 좋으므로 업그레이드를 기다림.

GN⁺의 의견

  • 이 연구는 개발자의 빌드 시간을 줄이는 것이 생산성 향상에 직접적인 영향을 미친다는 것을 보여줌.
  • 메모리가 빌드 시간에 큰 영향을 미치지 않지만, 링커 시간에는 영향을 미칠 수 있음을 발견한 것은 흥미로움.
  • OpenAI를 사용한 데이터 분석 방법은 다른 기업이나 개발자들에게도 유용한 사례가 될 수 있음.
Hacker News 의견
  • 첫 번째 댓글 요약:

    • 글이 잘 쓰여졌으며 데이터 수집과 분석 방법이 다양함.
    • 하지만 랩탑을 나란히 두고 동일한 시나리오에서 컴파일 시간을 측정하는 것이 더 간단하고 정확했을 것.
    • 회사 전체 통계를 수집하는 것은 편향을 초래할 수 있음. 예를 들어, 신입 직원과 오래된 직원이 사용하는 랩탑의 차이가 있을 수 있음.
    • 샘플링이 완전히 무작위적이고 대표적이지 않을 수 있음을 지적.
  • 두 번째 댓글 요약:

    • 과학자로서 프로그래머들이 데이터를 다루는 방식에 관심이 많음.
    • 아름다운 그래프를 그렸고, ChatGPT를 사용하여 분석을 빠르게 자동화함.
    • 그러나 메모리와 칩 유형에 따른 변동성이 있었음에도 선형 회귀를 사용하지 않음.
    • 히스토그램을 그렸지만 비교하기 어려움. 평균값과 오차 막대를 추가하거나 누적 분포 함수를 사용할 수 있었음.
  • 세 번째 댓글 요약:

    • 개발자 생산성 향상을 위해 새 랩탑 대신 AWS 상에 개발 스택을 오프로딩하는 프로젝트를 진행했던 경험 공유.
    • 이는 여러 해에 걸친 프로젝트였으며, 결국 랩탑을 업그레이드하는 것이 더 나았을 것이라는 결론.
  • 네 번째 댓글 요약:

    • Chromium과 Node.js의 전직 핵심 기여자이자 현재 gRPC Core/C++의 핵심 기여자.
    • 빌드 시간에 크게 신경 쓰지 않음. 중요한 것은 화면 크기와 품질, 저장 장치의 속도.
    • 개인 프로젝트에는 Bazel을 사용하며, CPU 발전보다 빌드 시스템이 더 큰 영향을 미침.
  • 다섯 번째 댓글 요약:

    • iOS 개발에 대한 개인적 연구 결과 공유.
    • M2 Pro와 M1 Pro의 성능 차이가 크지 않음. M3 Pro는 M2 Pro와 비슷한 수준.
    • 결과적으로 사용한 M1 Pro를 구입하여 만족함. 비용 대비 성능이 우수함.
  • 여섯 번째 댓글 요약:

    • AI를 데이터 분석에 사용하는 것에 대한 조언.
    • R이나 Stata와 같은 도구를 사용하는 것이 더 간단하고 재현 가능함.
    • 데이터를 이해하고 생성 메커니즘을 파악하는 것이 데이터 분석에서 가장 어려운 작업.
    • 현재 AI 기술이 이를 수행할 수 있는지에 대한 의문 제기.
  • 일곱 번째 댓글 요약:

    • 개발자들이 로컬 랩탑에서 전체 환경을 실행할 수 있는 것이 큰 성과.
    • 회사에서 전체 시스템을 단일 기계에서 실행할 수 있는 경험은 드물다고 언급.
  • 여덟 번째 댓글 요약:

    • 글의 저자로부터의 댓글.
    • Go 컴파일 프로파일링, 핫-리로더 구축, AI를 사용한 빌드 데이터셋 분석 등에 대한 내용.
    • M1에서 M3 Pro로 업그레이드하는 것이 가치가 있다고 결론 내림. M2와 M3의 차이는 크지 않아 업그레이드할 가치가 없음.
  • 아홉 번째 댓글 요약:

    • 데이터를 CSV로 내보내고, 목적을 설명하는 프롬프트와 함께 '어시스턴트'를 생성하는 과정에 대한 설명.
    • Microsoft가 Excel에 이 과정을 통합하면 큰 변화가 될 것이라는 의견.
  • 열 번째 댓글 요약:

    • M3 Pro가 M2보다 약간 더 나은 성능을 보이며, M1 Pro보다는 훨씬 더 나음.
    • M3의 성능 대비 전력 효율과 렌더링 성능이 더 우수하지만, 더 많은 메모리 대역폭을 가진 M3 Ultra가 나올 때까지 업그레이드를 기다리기로 결정.