1 คะแนน โดย GN⁺ 2023-12-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

MacBook M3 ที่อัปเกรดแล้วคุ้มค่าหรือไม่?

  • เพื่อหาคำตอบว่าการอัปเกรดเครื่องทำงานของนักพัฒนาจากชิป M1/M2 ไปเป็น M3 คุ้มค่าหรือไม่
  • การวัดเชิงปริมาณด้านประสิทธิภาพการทำงานของนักพัฒนาเป็นเรื่องยาก
  • วงจร feedback ที่รวดเร็วช่วยเพิ่มประสิทธิภาพของนักพัฒนา

การเก็บรวบรวม build telemetry

  • ใช้ Go hot reloader เพื่อติดตาม build telemetry บนโน้ตบุ๊กของนักพัฒนา
  • พัฒนาเครื่องมือบิลด์ขึ้นเองเพื่อติดตามข้อมูลระดับระบบ, runtime metrics และ build telemetry
  • ส่งเหตุการณ์ telemetry ไปยัง data warehouse

การวิเคราะห์ข้อมูล

  • เริ่มวิเคราะห์หลังจากสร้างข้อมูลคุณภาพสูงและมีชุดข้อมูลมากเพียงพอ
  • เวลาบิลด์อาจแตกต่างกันไปในแต่ละระบบ จึงไม่สามารถเปรียบเทียบด้วยค่าเฉลี่ยอย่างง่ายได้
  • ใช้ code interpreter ตัวใหม่ของ OpenAI ในการวิเคราะห์ข้อมูล

การสร้าง OpenAI Assistant

  • ส่งออกข้อมูลเป็น CSV แล้วนำเข้าให้ OpenAI Assistant เพื่อวิเคราะห์
  • ใช้โมเดล gpt-4-1106-preview สำหรับการวิเคราะห์ข้อมูล

การทำความสะอาดข้อมูล (แหล่งพลังงาน, การยกเลิก ฯลฯ)

  • ตัดบิลด์ที่ล้มเหลวหรือถูกยกเลิกออก
  • เนื่องจากบิลด์ที่รันด้วยแบตเตอรี่อาจมีประสิทธิภาพลดลง จึงพิจารณาเฉพาะบิลด์ที่รันด้วยไฟ AC

ไม่ใช่ทุกบิลด์จะเหมือนกัน

  • โปรเจ็กต์ Go ประกอบด้วย package หลายตัว และคอมไพเลอร์จะคอมไพล์ใหม่เฉพาะเมื่อมีการเปลี่ยนแปลง
  • เวลาบิลด์ถูกจัดเป็น ทันที (<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 เพียงเล็กน้อย

เมมโมรีไม่ได้สร้างความแตกต่างจริงหรือ?

  • พบว่าเมมโมรีไม่ได้ส่งผลต่อเวลาบิลด์มากนัก
  • จากการวิเคราะห์ข้อมูลเวลา linker พบว่าเมมโมรีมีผลต่อประสิทธิภาพการลิงก์

MacBook M3 กำลังมา!

  • ตัดสินใจว่าโน้ตบุ๊ก M3 Pro สี Space Black รุ่นใหม่จะช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาได้
  • ผู้ใช้ M1 มีแผนอัปเกรดเป็น M3 Pro พร้อมเมมโมรี 36GB
  • ผู้ใช้ M2 จะยังรอก่อน เพราะประสิทธิภาพปัจจุบันยังดีอยู่

ความเห็นของ GN⁺

  • งานศึกษานี้แสดงให้เห็นว่าการลดเวลาบิลด์ของนักพัฒนาส่งผลโดยตรงต่อการเพิ่มประสิทธิภาพการทำงาน
  • การค้นพบว่าเมมโมรีไม่ได้มีผลมากต่อเวลาบิลด์ แต่มีผลต่อเวลา linker เป็นเรื่องที่น่าสนใจ
  • วิธีวิเคราะห์ข้อมูลด้วย OpenAI อาจเป็นกรณีศึกษาที่เป็นประโยชน์ต่อบริษัทหรือนักพัฒนารายอื่นได้

1 ความคิดเห็น

 
GN⁺ 2023-12-30
ความเห็นจาก 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, การสร้าง hot-reloader และการใช้ AI วิเคราะห์ชุดข้อมูลการบิลด์
    • สรุปว่าการอัปเกรดจาก M1 ไปเป็น M3 Pro นั้นคุ้มค่า ส่วนความต่างระหว่าง M2 กับ M3 ไม่มากพอที่จะคุ้มกับการอัปเกรด
  • สรุปความเห็นที่เก้า:

    • อธิบายกระบวนการส่งออกข้อมูลเป็น CSV และการสร้าง 'assistant' พร้อมพรอมป์ตที่อธิบายเป้าหมาย
    • เห็นว่าถ้า Microsoft นำกระบวนการนี้ไปผนวกใน Excel จะเป็นการเปลี่ยนแปลงครั้งใหญ่
  • สรุปความเห็นที่สิบ:

    • M3 Pro ให้ประสิทธิภาพดีกว่า M2 เล็กน้อย และดีกว่า M1 Pro อย่างชัดเจน
    • M3 มีประสิทธิภาพต่อการใช้พลังงานและสมรรถนะด้านการเรนเดอร์ดีกว่า แต่ตัดสินใจรออัปเกรดจนกว่า M3 Ultra ที่มีแบนด์วิดท์หน่วยความจำมากกว่าจะออกมา