M3 MacBookアップグレードの価値は何か?
- M1/M2チップからM3へ開発者用マシンをアップグレードする価値があるかを調べるため。
- 開発者の生産性を定量化するのは難しい。
- フィードバックループが速いほど、開発者の効率は高まる。
ビルドテレメトリの収集
- Goのホットリローダーを使って、開発者ノートPC上でビルドテレメトリを追跡。
- システムレベル、ランタイムメトリクス、ビルドテレメトリなどを追跡するために独自のビルドツールを開発。
- テレメトリイベントをデータウェアハウスへ送信。
データ分析
- 高品質なデータを生成し、十分なデータセットを構築した後に分析を開始。
- ビルド時間はシステムごとに異なる可能性があるため、単純な平均比較はできない。
- 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 MacBookがやってくる!
- 新しいSpace BlackのM3 ProノートPCが開発者の生産性向上に役立つと判断。
- M1ユーザーは36GBメモリ搭載のM3 Proへアップグレード予定。
- M2ユーザーは現状でも十分高性能なため、アップグレードを見送る。
GN⁺の見解
- この調査は、開発者のビルド時間短縮が生産性向上に直接つながることを示している。
- メモリはビルド時間に大きく影響しない一方で、リンカー時間には影響する可能性があるという発見は興味深い。
- OpenAIを使ったデータ分析手法は、他の企業や開発者にとっても有用な事例となりうる。
1件のコメント
Hacker Newsの意見
1つ目のコメント要約:
2つ目のコメント要約:
3つ目のコメント要約:
4つ目のコメント要約:
5つ目のコメント要約:
6つ目のコメント要約:
7つ目のコメント要約:
8つ目のコメント要約:
9つ目のコメント要約:
10個目のコメント要約: