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

√-1ROOT: ซอฟต์แวร์สำหรับการวิเคราะห์และการแสดงผลข้อมูลขนาดใหญ่

ภาพรวมของ ROOT

  • ROOT เป็นซอฟต์แวร์ประสิทธิภาพสูงที่ช่วยให้สามารถวิเคราะห์เชิงสถิติและแสดงผลข้อมูลขนาดใหญ่ได้
  • เขียนขึ้นโดยหลักด้วย C++ และสามารถใช้งานได้บน Linux, macOS, Windows
  • เป็นซอฟต์แวร์โอเพนซอร์ส จึงสามารถใช้งาน แก้ไข และมีส่วนร่วมได้อย่างอิสระ

ความสามารถหลัก

  • มี C++ interpreter ทรงพลังสำหรับการทำ prototyping อย่างรวดเร็ว
  • ผสานการทำงานกับ Python ได้อย่างราบรื่น ทำให้สามารถทำ dynamic binding ระหว่าง Python และ C++ ได้
  • สามารถใช้งานได้ใน Jupyter Notebook เช่นกัน

RNTuple: ปัจจุบันและอนาคต

  • RNTuple กำลังถูกพัฒนาขึ้นเพื่อเป็นรุ่นถัดไปของ TTree และมีแผนจะใช้งานใน Run 4
  • อธิบายถึงความจำเป็นของระบบใหม่ สถานะปัจจุบัน สิ่งที่ต้องทำก่อนการออก production release แรก และแผนในอนาคต
  • มีวิธีให้ลองใช้งาน RNTuple ได้แล้ว

การตั้งค่าเริ่มต้นของแคนวาสแบบเว็บ

  • การติดตั้งใช้งาน TCanvas แบบเว็บถูกเปลี่ยนให้เป็นค่าเริ่มต้นใน ROOT เวอร์ชัน master
  • มีอยู่ใน ROOT มาตั้งแต่ปี 2017 และถูกใช้ใน TBrowser แบบเว็บด้วย

คลาสใหม่ TScatter

  • แนะนำคลาสใหม่ TScatter

การปรับปรุงสภาพแวดล้อมการพัฒนา ROOT

  • เสนอวิธีปรับปรุงสภาพแวดล้อมการพัฒนาและดีบัก ROOT โดยใช้ QtCreator
  • สามารถดีบักสคริปต์ CERN ROOT และโปรแกรมที่พัฒนาบน ROOT ได้ใน Eclipse IDE

รีลีสล่าสุด

  • Release 6.32/00 - 28 พฤษภาคม 2024
  • Release 6.30.06 - 3 เมษายน 2024
  • Release 6.30.04 - 31 มกราคม 2024
  • Release 6.30/02 - 28 พฤศจิกายน 2023
  • Release 6.30/00 - 7 พฤศจิกายน 2023

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

  • ROOT เป็นเครื่องมือที่เหมาะอย่างยิ่งสำหรับการวิเคราะห์ข้อมูลขนาดใหญ่ โดยเฉพาะในงานวิจัยทางวิทยาศาสตร์
  • ด้วยการผสานกับ Python ทำให้ผู้ใช้ที่ไม่คุ้นเคยกับ C++ ก็เข้าถึงได้ง่าย
  • การตั้งค่า แคนวาสแบบเว็บ เป็นค่าเริ่มต้นสามารถยกระดับประสบการณ์ผู้ใช้ได้อย่างมาก
  • การนำ RNTuple มาใช้คาดว่าจะช่วยเพิ่มทั้งประสิทธิภาพและความสามารถ
  • การปรับปรุงสภาพแวดล้อมการพัฒนาด้วย QtCreator และ Eclipse IDE ช่วยเพิ่มผลิตภาพได้

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

 
GN⁺ 2024-06-02
ความคิดเห็นจาก Hacker News
  • ความทรงจำในอดีต: เคยใช้ ROOT อย่างมากในวงการฟิสิกส์อนุภาค แม้จะมีหนี้ทางเทคนิคและความแปลกประหลาดอยู่มาก แต่สำหรับงานบางอย่าง เช่น ฮิสโตแกรมหรือการจัดการข้อมูลแบบมีโครงสร้าง ROOT ทำได้ง่ายกว่า API เชิงวัตถุก็ใช้งานได้ค่อนข้างตรงไปตรงมา
  • กระบวนการเปลี่ยนแปลง: แม้จะออกจากวงการมา 5 ปีแล้ว แต่ ROOT ก็กำลังเปลี่ยนแปลงอยู่ โดยถอดอินเทอร์พรีเตอร์ CINT ออกและเปลี่ยนไปใช้โค้ดที่อิงกับ Clang ตอนนี้จึงสามารถวิเคราะห์ข้อมูลใน Jupyter ได้ด้วย C++ หรือ Python
  • เครื่องมือวิเคราะห์แบบใหม่: สำหรับงานวิเคราะห์ใหม่ ๆ ควรใช้เครื่องมือที่เป็นมิตรกับผู้ใช้มากกว่า เช่น uproot แทน ROOT บางคนอาจยังต้องใช้ ROOT ต่อไปเพราะเวิร์กโฟลว์แบบเลกาซี
  • หน้า 404 ที่น่าสนใจ: หน้า 404 ของ ROOT น่าสนุกดี (ไม่เกี่ยวกับห้อง 404)
  • การค้นพบทางวิทยาศาสตร์: เป็นเรื่องเจ๋งที่โปรเจ็กต์ซอฟต์แวร์ขนาดใหญ่ถูกนำไปใช้ในการค้นพบทางวิทยาศาสตร์ ตัวอย่างเช่น LIGO ค้นพบคลื่นความโน้มถ่วงด้วย GStreamer
  • ปัญหาของ ROOT: ROOT มีความสามารถมากมาย แต่การออกแบบ API ไม่ค่อยดี และการแยกระหว่างไลบรารีกับโปรแกรมก็ไม่ชัดเจน ROOT 6 พยายามแก้ปัญหาบางส่วน แต่ต้องใช้เวลา
  • ปัญหารูปแบบอินพุต/เอาต์พุต: รูปแบบอินพุต/เอาต์พุตของ ROOT รุ่นเก่าเคยมีเอกสารไม่ดีนัก แต่ตอนนี้ด้วย groot และ uproot จึงอ่านและเขียนข้อมูล ROOT ได้ง่ายขึ้น
  • ความซาบซึ้งต่อ ROOT 6: รู้สึกขอบคุณที่ได้ใช้ ROOT 6 ขึ้นไปทุกวัน
  • ความทรงจำเรื่องการดีบัก: ทำให้นึกถึงช่วงที่ต้องนั่งดีบักโค้ดทั้งคืน ซึ่งเขียนโดยนักฟิสิกส์ฝีมือเยี่ยมที่ไม่ได้มีพื้นฐานด้านวิทยาการคอมพิวเตอร์
  • แกนหลักของฟิสิกส์อนุภาค: ROOT เป็นแกนหลักของงานจำนวนมากในฟิสิกส์อนุภาคเชิงทดลอง แต่สำหรับนักศึกษาปริญญาโทหรือเอกหน้าใหม่ มันเหมือนฝันร้าย
  • การใช้ Cling: ใช้ Cling และ Xeus ซึ่งเป็นอินเทอร์พรีเตอร์ C++ ใน Jupyter Notebook เร็วกว่า Python 3 มาก โดยหลักแล้วใช้ Cling เป็น JIT สำหรับภาษาที่คอมไพล์เป็น C++
  • ซอร์สโค้ด: สามารถดูซอร์สโค้ดของโปรเจ็กต์ ROOT ได้ที่ GitHub
  • ฝันร้ายในการดีบัก: การดีบักสคริปต์และโปรแกรม CERN ROOT ใน Eclipse IDE เป็นฝันร้าย แต่ก็แสดงให้เห็นว่าสามารถสร้างสิ่งน่าทึ่งได้แม้อยู่ในสภาพแวดล้อมที่ย่ำแย่