1 điểm bởi GN⁺ 2023-12-30 | 1 bình luận | Chia sẻ qua WhatsApp

Giá trị của việc nâng cấp lên M3 MacBook là gì?

  • Nhằm tìm hiểu liệu việc nâng cấp máy làm việc của lập trình viên từ chip M1/M2 lên M3 có đáng giá hay không.
  • Việc định lượng năng suất của lập trình viên là điều khó khăn.
  • Vòng phản hồi nhanh giúp tăng hiệu quả làm việc của lập trình viên.

Thu thập telemetry build

  • Sử dụng trình hot reloader Go để theo dõi telemetry build trên laptop của lập trình viên.
  • Tự phát triển công cụ build riêng để theo dõi ở mức hệ thống, metric runtime và telemetry build.
  • Gửi các sự kiện telemetry vào kho dữ liệu.

Phân tích dữ liệu

  • Bắt đầu phân tích sau khi tạo ra dữ liệu chất lượng cao và xây dựng được tập dữ liệu đủ lớn.
  • Không thể chỉ so sánh trung bình đơn giản vì thời gian build có thể khác nhau tùy từng hệ thống.
  • Sử dụng code interpreter mới của OpenAI để phân tích dữ liệu.

Tạo OpenAI Assistant

  • Xuất dữ liệu ra CSV và cung cấp cho OpenAI Assistant để phân tích.
  • Sử dụng mô hình gpt-4-1106-preview để phân tích dữ liệu.

Làm sạch dữ liệu (nguồn điện, hủy tác vụ, v.v.)

  • Loại trừ các bản build bị lỗi hoặc bị hủy.
  • Do bản build chạy bằng pin có thể bị giảm hiệu năng, chỉ xem xét các bản build chạy bằng nguồn AC.

Không phải mọi bản build đều giống nhau

  • Dự án Go được cấu thành từ nhiều package khác nhau, và trình biên dịch chỉ biên dịch lại khi có thay đổi.
  • Thời gian build được phân loại thành tức thì (<3 giây), nhanh (<30 giây), trung bình (30 giây-1 phút) và chậm (1 phút+).

So sánh M1 và M2

  • Sau khi làm sạch dữ liệu nguồn AC và các bản build thành công, tiến hành so sánh các nền tảng M1 và M2.
  • M2 Max vượt trội rõ rệt so với M1 Pro về tốc độ build.

So sánh nội bộ M3

  • Qua việc so sánh thời gian build giữa M2 Pro 16GB và M2 Max 32GB, xác nhận rằng bộ nhớ không tạo ra ảnh hưởng lớn.
  • Chênh lệch hiệu năng giữa M3 Pro và M3 Max không đủ để biện minh cho chênh lệch giá.

So sánh tổng hợp M1, M2, M3

  • So sánh thời gian build giữa các nền tảng M1, M2 và M3 cho thấy M2 cải thiện lớn so với M1.
  • M3 chỉ cải thiện nhẹ so với M2.

Bộ nhớ có thực sự không tạo ra khác biệt?

  • Kết quả cho thấy bộ nhớ không ảnh hưởng lớn đến thời gian build.
  • Phân tích dữ liệu về thời gian linker cho thấy bộ nhớ có ảnh hưởng đến hiệu năng linking.

M3 MacBook đang đến!

  • Quyết định rằng laptop Space Black M3 Pro mới sẽ giúp cải thiện năng suất của lập trình viên.
  • Người dùng M1 dự kiến sẽ nâng cấp lên M3 Pro với 36GB bộ nhớ.
  • Người dùng M2 hiện có hiệu năng tốt nên sẽ chờ nâng cấp sau.

Ý kiến của GN⁺

  • Nghiên cứu này cho thấy việc giảm thời gian build của lập trình viên có tác động trực tiếp đến việc tăng năng suất.
  • Phát hiện rằng bộ nhớ không ảnh hưởng nhiều đến thời gian build nhưng có thể ảnh hưởng đến thời gian linker là một điểm thú vị.
  • Phương pháp phân tích dữ liệu bằng OpenAI có thể là một ví dụ hữu ích cho các công ty hoặc lập trình viên khác.

1 bình luận

 
GN⁺ 2023-12-30
Ý kiến trên Hacker News
  • Tóm tắt bình luận thứ nhất:

    • Bài viết được viết tốt và có nhiều phương pháp thu thập, phân tích dữ liệu đa dạng.
    • Tuy nhiên, việc đặt các laptop cạnh nhau và đo thời gian biên dịch trong cùng một kịch bản có lẽ sẽ đơn giản và chính xác hơn.
    • Việc thu thập thống kê trên toàn công ty có thể gây ra sai lệch. Ví dụ, có thể tồn tại khác biệt giữa laptop mà nhân viên mới và nhân viên lâu năm sử dụng.
    • Chỉ ra rằng việc lấy mẫu có thể không hoàn toàn ngẫu nhiên và không mang tính đại diện.
  • Tóm tắt bình luận thứ hai:

    • Với tư cách là một nhà khoa học, người này quan tâm đến cách các lập trình viên xử lý dữ liệu.
    • Đã vẽ các biểu đồ đẹp và dùng ChatGPT để tự động hóa phân tích một cách nhanh chóng.
    • Tuy nhiên, dù có biến động theo bộ nhớ và loại chip, lại không sử dụng hồi quy tuyến tính.
    • Có vẽ histogram nhưng khó so sánh. Có thể thêm giá trị trung bình và thanh sai số, hoặc dùng hàm phân phối tích lũy.
  • Tóm tắt bình luận thứ ba:

    • Chia sẻ kinh nghiệm từng thực hiện một dự án chuyển stack phát triển lên AWS thay vì mua laptop mới để cải thiện năng suất lập trình viên.
    • Đây là một dự án kéo dài nhiều năm, và cuối cùng đi đến kết luận rằng nâng cấp laptop có lẽ vẫn tốt hơn.
  • Tóm tắt bình luận thứ tư:

    • Từng là người đóng góp cốt lõi cho Chromium và Node.js, hiện là người đóng góp cốt lõi cho gRPC Core/C++.
    • Không quá bận tâm đến thời gian build. Điều quan trọng là kích thước và chất lượng màn hình, cùng tốc độ của thiết bị lưu trữ.
    • Dùng Bazel cho các dự án cá nhân, và cho rằng hệ thống build có ảnh hưởng lớn hơn so với sự tiến bộ của CPU.
  • Tóm tắt bình luận thứ năm:

    • Chia sẻ kết quả nghiên cứu cá nhân về phát triển iOS.
    • Chênh lệch hiệu năng giữa M2 Pro và M1 Pro không lớn. M3 Pro cũng ở mức tương tự M2 Pro.
    • Kết quả là đã mua một chiếc M1 Pro đã qua sử dụng và hài lòng. Hiệu năng trên chi phí rất tốt.
  • Tóm tắt bình luận thứ sáu:

    • Đưa ra lời khuyên về việc dùng AI cho phân tích dữ liệu.
    • Dùng các công cụ như R hoặc Stata sẽ đơn giản hơn và dễ tái lập hơn.
    • Việc hiểu dữ liệu và nắm được cơ chế tạo ra dữ liệu là phần khó nhất trong phân tích dữ liệu.
    • Đặt câu hỏi liệu công nghệ AI hiện tại có thể làm được điều đó hay không.
  • Tóm tắt bình luận thứ bảy:

    • Việc các lập trình viên có thể chạy toàn bộ môi trường trên laptop cục bộ đã là một thành tựu lớn.
    • Nhắc rằng ở công ty, hiếm khi có trải nghiệm chạy toàn bộ hệ thống trên một máy duy nhất.
  • Tóm tắt bình luận thứ tám:

    • Bình luận từ tác giả bài viết.
    • Nội dung về profiling biên dịch Go, xây dựng hot-reloader, và phân tích bộ dữ liệu build bằng AI.
    • Kết luận rằng việc nâng cấp từ M1 lên M3 Pro là đáng giá. Chênh lệch giữa M2 và M3 không lớn nên không đáng để nâng cấp.
  • Tóm tắt bình luận thứ chín:

    • Giải thích quy trình xuất dữ liệu sang CSV và tạo một “assistant” kèm prompt mô tả mục tiêu.
    • Cho rằng nếu Microsoft tích hợp quy trình này vào Excel thì đó sẽ là một thay đổi lớn.
  • Tóm tắt bình luận thứ mười:

    • M3 Pro cho hiệu năng nhỉnh hơn M2 một chút, và tốt hơn M1 Pro khá nhiều.
    • M3 có hiệu năng trên điện năng và hiệu năng render tốt hơn, nhưng người này quyết định chờ nâng cấp cho đến khi có M3 Ultra với băng thông bộ nhớ cao hơn.