4 คะแนน โดย GN⁺ 2024-06-25 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • ไลบรารีและทูลเชนที่ทำให้โค้ด C ที่คอมไพล์แล้วสามารถรันได้ทุกที่ เช่น Windows/macOS/Linux/BSD
  • ไม่ต้องใช้ interpreter/virtual machine
  • ปรับแต่ง GCC และ Clang ใหม่เพื่อสร้างฟอร์แมต POSIX Polyglot ให้รันแบบเนทีฟบนแต่ละระบบปฏิบัติการ

สิ่งที่ปรับปรุงใน 3.5

  • การติดตั้งใช้งาน memory map: implementation ของ memory map ที่มีคุณภาพสูงขึ้น
  • รองรับ Lua 5.4.6 (ใช้งานโดยเว็บเซิร์ฟเวอร์ Redbean ที่รวมมาในตัว)
  • รองรับแฟลก -x LANG
  • มีความคืบหน้าอย่างมากในการสร้าง C++ STL ขึ้นใหม่
    • ปรับแต่ง ctl::string: มีการเพิ่มประสิทธิภาพหลายอย่าง รวมถึง small string optimization
    • เพิ่ม ctl::set และ ctl::map: นำโครงสร้างข้อมูลใหม่เข้ามา
    • ติดตั้งใช้งาน ctl::unique_ptr: เพิ่มความสามารถของ unique pointer
    • มี new.h แบบขั้นต่ำให้ใช้งาน: จัดเตรียมไฟล์ new.h ขั้นต่ำ
    • แก้ไขนิยาม _Atomic: ปรับแก้นิยาม _Atomic ใน C++
    • การปรับแต่งและแก้บั๊กอื่น ๆ: มีการเพิ่มประสิทธิภาพและแก้ไขบั๊กหลากหลายรายการ

ปรับปรุงกระบวนการพัฒนาบน GitHub

  • เพิ่ม action สำหรับ labeler: เพิ่ม GitHub labeler action
  • เพิ่ม issue template: เพิ่มเทมเพลตสำหรับ issue
  • เอา test label ออกจากระบบ: ลบ test label ออกจากไฟล์ตั้งค่าของ labeler

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

 
GN⁺ 2024-06-25
ความเห็นจาก Hacker News
  • คาดหวัง toolchain สำหรับสร้างไฟล์ปฏิบัติการ Python แบบไฟล์เดียว โดยผสาน Python เข้ากับ APE, pex, shiv, pyinstaller และระบบบิลด์ pants
  • ถ้าผสานกับ Graal Native ก็น่าจะทำให้สามารถรันไบนารี Clojure/Java ได้ทุกที่โดยไม่ต้องมี VM
  • ตรวจดูสองคอมมิตแล้ว และทั้งสองบรรทัดมีจำนวนอักขระเท่ากัน งานแบบนี้สนุกดีแต่ก็ไม่ง่าย
  • โปรเจ็กต์นี้เจ๋งมาก แต่ก็สงสัยว่านอกจากการทำให้กระบวนการบิลด์ง่ายขึ้นด้วยไบนารีเดียวแล้ว ยังมีเหตุผลอื่นอีกไหม อยากรู้ว่าเมื่อเทียบกับ musl และ glibc แล้วเป็นอย่างไรในแง่ประสิทธิภาพ ความเป็นไปได้ของ static linking และการปฏิบัติตามมาตรฐาน
  • รู้สึกกลัว Cosmopolitan อยู่นิด ๆ เสมอ มันเป็นการแฮ็กที่เจ๋ง แต่ก็ให้ความรู้สึกเหมือนไม่น่าจะทำงานได้
  • ใน repository ยังมีซอร์สโค้ดของ redbean ซึ่งเป็นเว็บเซิร์ฟเวอร์เจ๋ง ๆ ที่มี lua และฟีเจอร์หลากหลายรวมอยู่ด้วย
  • เคยพยายามรัน Go ที่คอมไพล์ด้วย cgo บนอุปกรณ์เก่าแล้วสุดท้ายก็ยอมแพ้ เลยสงสัยว่ามีใครเคยบิลด์ไบนารี cgo แบบ Cosmopolitan-flavored ได้สำเร็จบ้างไหม Cosmopolitan libc รองรับ Linux 2.6 จึงยังพอมีความหวัง
  • ติดตามโปรเจ็กต์นี้มาเกือบ 4 ปีแล้ว แต่ก็ยังไม่แน่ใจว่า Cosmopolitan/αpε เป็นโปรเจ็กต์ที่จริงจังแค่ไหน
  • อ่าน "ส่วนหัวไฟล์ปฏิบัติการที่พกพาได้จริง" แล้วสนุกดี
  • สงสัยว่ามีแผนจะเผยแพร่ Cosmopolitan libc โดยไม่ใช้ APE หรือไม่ ตอนนี้มันดูใกล้เคียงกับ framework+toolchain มากกว่า