GNU Compiler Collection
โครงการ GNU Compiler Collection หรือ GCC เปิดตัว คอมไพเลอร์ภาษา Rust (gccrs) เป็นอีกทางเลือกหนึ่งนอกเหนือจากคอมไพเลอร์หลักของโครงการ Rust โดยตรง ( rustc )
แนวทางของ GCC ต้องการเป็นชุดคอมไพเลอร์สำหรับภาษาโปรแกรมแบบครบวงจร และสร้างคอมไพเลอร์สำหรับภาษาต่างๆ ในชุดอยู่แล้ว (เช่น gccgo) กรณีของ gccrs ถูกพัฒนาขึ้นมาตั้งแต่ปี 2014 ก่อน Rust ออกเวอร์ชัน 1.0 ด้วยซ้ำ แต่ถูกทอดทิ้งไประยะหนึ่ง ก่อนมีนักพัฒนารายอื่นมารับช่วงโครงการต่อในปี 2019 แล้วพัฒนาต่อเรื่อยมา
Ubuntu เตรียมทดลองคอมไพล์แพ็กเกจในดิสโทร ด้วยการรีดประสิทธิภาพแบบ O3 optimization ของคอมไพเลอร์ GCC ซึ่งจะทำให้แอพรันได้เร็วขึ้นกว่า O2 optimization ที่ใช้อยู่ในปัจจุบัน
O3 optimization เป็นตัวเลือกของ GCC ที่มีอยู่แล้ว ข้อดีคือไบนารีที่คอมไพล์จะมีประสิทธิภาพตอนรันมากขึ้น แต่ต้องแลกมาด้วยระยะเวลาการคอมไพล์ที่นานกว่าเดิม และขนาดของไบนารีที่อาจใหญ่ขึ้น
Ubuntu บอกว่าเป้าหมายของดิสโทรคือการรีดประสิทธิภาพอยู่แล้ว ดังนั้นจึงต้องการทดลองดูว่าถ้าคอมไพล์เป็น O3 จะส่งผลต่อประสิทธิภาพในการรันงานรูปแบบต่างๆ มากน้อยแค่ไหน ก่อนนำข้อมูลไปตัดสินใจต่อไปว่าควรอยู่กับ O2 เหมือนเดิม หรือขยับไป O3
GCC โครงการคอมไพลเลอร์ของ GNU ประกาศรับโค้ดรองรับภาษา Rust เข้าโครงการ หลังจาก Philip Herron นักพัฒนาจาก Embecosm พัฒนาโครงการนี้มาตั้งแต่ปลายปี 2020
โครงการคอมไพลเลอร์ขนาดใหญ่อย่าง GCC หรือ LLVM จะแบ่งฟีเจอร์ด้านการรองรับภาษา (front-end) ออกจากการรองรับสถาปัตยกรรมซีพียู (back-end) ทุกวันนี้คอมไพลเลอร์ rustc ที่เป็นคอมไพลเลอร์หลักของภาษา Rust นั้นใช้ LLVM ขณะที่ GCC รองรับสถาปัตยกรรมซีพียูกว้างขวางกว่า
โครงการ GCC Rust มีเป้าหมายแรกที่จะรองรับภาษา Rust ระดับเดียวกับ rustc 1.40 ซึ่งออกมาตั้งแต่ปี 2020 และตอนนี้ rustc อยู่ที่เวอร์ชั่น 1.62.0 และกว่าที่โครงการจะรวมเข้าไปใน GCC จริงก็น่าจะเป็น GCC 13 คาดว่าจะออกตัวจริงปี 2023 และเป็นการรองรับระดับเบต้าเท่านั้น
Linus Torvalds สาปส่งชุดคำสั่ง AVX-512 หลังพบว่าซีพียู Alder Lake ไม่มีฟีเจอร์นี้ โดยระบุว่า “ผมหวังว่า AVX512 มันจะตายอย่างเจ็บปวดไปซะที” พร้อมเสนอว่า Intel ควรใช้พื้นที่ชิปทำอย่างอื่น เช่นการเพิ่มประสิทธิภาพคอร์หรือเพิ่มจำนวนคอร์แบบเอเอ็มดี
OpenSSL ออกแพตช์ความปลอดภัยเวอร์ชั่น 1.1.1g แก้ช่องโหว่ที่คนร้ายสามารถแครชเซิร์ฟเวอร์ได้จากระยะไกล โดยความพิเศษของการออกแพตช์ครั้งนี้คือ Bernd Edlinger ผู้รายงานช่องโหว่พบช่องโหว่จากระบบวิเคราะห์โค้ดของ GCC 10
- Read more about ช่องโหว่ใหม่ใน OpenSSL ถูกพบโดยตัววิเคราะห์โค้ดใน GCC 10
- Log in or register to post comments
โครงการคอมไพเลอร์โอเพนซอร์ส GCC กำลังหารือกันว่าจะปิดการทำงานของคอมไพเลอร์ภาษา Java (GCJ) เนื่องจากไม่ค่อยได้พัฒนาแล้วในช่วงหลัง (เหตุเพราะงานพัฒนาสาย Java ย้ายไปอยู่ในโครงการ OpenJDK แทน)
ตามแผนของ GCC จะไม่ทิ้งคอมไพเลอร์ภาษา Java แต่จะปิดการทำงานมาเป็นดีฟอลต์แทน (รวมถึงไม่คอมไพล์ GCJ ในขั้นตอนของการคอมไพล์ GCC ทั้งชุดด้วย) และปรับสถานะของคอมไพเลอร์ Java เป็น maintenance mode ไม่ใช่ active development
ในโอกาสเดียวกัน ทางโครงการ GCC ยังหารือว่าจะยกระดับของคอมไพเลอร์ภาษาใดมาเป็นเปิดใช้โดยดีฟอลต์แทน ข้อเสนอมีทั้งภาษา Go และ ADA ครับ
ที่มา - Phoronix
GCC เริ่มพัฒนาด้วย C++ มาตั้งแต่กลางปี 2010 ระหว่างนี้กระบวนการพัฒนาเกิดขึ้นหลายอย่าง โดยเฉพาะ กำหนดมาตรฐานว่าต้องใช้ฟีเจอร์ใดของ C++ บ้าง
ในแง่ของผู้ใช้งานคงไม่ต่างอะไรนัก แต่ฟีเจอร์อย่างการจัดการหน่วยความจำตาม scope ของโค้ด จะช่วยให้ตัว GCC คืนหน่วยความจำเร็วขึ้น ทำให้การใช้หน่วยความจำลดลง
ฟีเจอร์ของ GCC 4.8 ใหม่ที่สำคัญ เช่น
- Read more about GCC 4.8 ใช้ C++ แล้ว
- 2 comments
- Log in or register to post comments
ข่าวนี้เกี่ยวข้องกับซอฟต์แวร์ด้านคอมไพเลอร์ ศัพท์เทคนิคเฉพาะทางจะเยอะหน่อยนะครับ
เกริ่นก่อนว่าผู้อ่าน Blognone คงคุ้นเคยกับชื่อ GCC หรือ GNU Compiler Collection ซึ่งเป็นชุดซอฟต์แวร์ด้านคอมไพเลอร์สำหรับภาษาโปรแกรมต่างๆ มากมาย (ตอนแรกเน้น C/C++ เป็นหลัก) มันถูกสร้างขึ้นภายใต้โครงการ GNU และใช้สัญญาอนุญาตแบบ GPL ปัจจุบันมันเป็นคอมไพเลอร์มาตรฐานบนแพลตฟอร์มลินุกซ์และซอฟต์แวร์โอเพนซอร์สต่างๆ
แต่ GCC ไม่ใช่คอมไพเลอร์แบบโอเพนซอร์สเพียงโครงการเดียว เพราะมีโครงการคู่แข่งที่มาแรงในช่วงหลังคือ LLVM ซึ่งพัฒนามาจากโครงการวิจัยของมหาวิทยาลัย University of Illinois at Urbana–Champaign ในปี 2003
Ubuntu รุ่นหน้า 12.10 ที่เพิ่งได้โค้ดเนม Quantal Quetzal เข้าสู่กระบวนการพัฒนาเรียบร้อยแล้ว
แผนการพัฒนาของรุ่นนี้จะถูกเสนอในงานประชุม Ubuntu Developer Summit (UDS-Q) สัปดาห์หน้า แต่ในเบื้องต้น ทีมพัฒนาของ Ubuntu ได้ข้อตกลงดังนี้
- Read more about Ubuntu 12.10 จะใช้ GCC 4.7 เป็นฐาน
- 2 comments
- Log in or register to post comments
GNU Compiler Collection หรือ GCC ออกเวอร์ชันใหม่เป็นเวอร์ชันที่ 4.6.3 แล้ว
Jakub Jelinek แห่ง Red Hat ได้ออกมาประกาศเกี่ยวกับการออกเวอร์ชันใหม่ของ GCC โดยในเวอร์ชันนี้ได้มีการแก้ไขบั๊กบางส่วนจากเวอร์ชัน 4.6.2 ที่มีมากกว่า 70 บั๊ก อย่างไรก็ตามได้มีการทำนายความเป็นไปได้ของ GCC 4.7 ว่าอาจมีการปรับปรุงด้านประสิทธิภาพการทำงาน, การรองรับ CPU รุ่นใหม่ เช่น Sandy/Ivy Bridge และเริ่มต้นการสนับสนุน Intel Haswell ซึ่ง GCC 4.7 น่าจะมีการออกเวอร์ชันใหม่อย่างเป็นทางการช่วงเดือนมีนาคมและเมษายนนี้
- Read more about GCC 4.6.3 มาแล้ว, แก้ไขบั๊กมากกว่า 70 แห่ง
- 4 comments
- Log in or register to post comments
Mike Hommey วิศวกรของ Mozilla เขียนเล่าลงบล็อกส่วนตัวของเขาเองว่า ทีมลินุกซ์ของ Mozilla ประสบความสำเร็จในการคอมไพล์ Firefox ด้วยคอมไพเลอร์ GCC รุ่นใหม่ 4.5 (รุ่นล่าสุดตอนนี้คือ GCC 4.6)
ผลก็คือกระบวนการคอมไพล์ Firefox บนลินุกซ์สามารถใช้การปรับแต่ง -O3 optimization ทำให้ Firefox ทำงานได้รวดเร็วกว่าเดิม (Hommey บอกว่าใกล้เคียงกับ Firefox รุ่นวินโดวส์บนฮาร์ดแวร์เดียวกัน) การเปลี่ยนแปลงนี้จะเห็นผลใน Firefox 6 ครับ
ที่มา - Mike Hommey , Digitizor
- Read more about Firefox 6 บนลินุกซ์จะเร็วขึ้นเพราะเปลี่ยนคอมไพเลอร์
- 30 comments
- Log in or register to post comments
โครงการที่ยิ่งใหญ่ที่สุดโครงการหนึ่งในประวัติศาสตร์โอเพนซอร์สนั่นคือ GCC ที่เปิดให้นักพัฒนาสามารถพัฒนาซอฟต์แวร์ได้โดยไม่ต้องการคอมไพลเลอร์แบบเสียเงิน GCC แม้จะย่อมาจาก Gnu Compiler Collection ที่ใช้คอมไพล์ภาษาได้จำนวนมาก แต่ตัว GCC ทั้งหมดยังคงพัฒนาด้วยภาษา C จนกระทั่งวันนี้ที่ GCC Steering Committee ได้ประกาศจะยอมรับโค้ดภาษา C++ เข้ามาร่วมด้วย
- Read more about GCC จะเริ่มพัฒนาด้วย C++ แล้ว
- 10 comments
- Log in or register to post comments
แม้ว่าเราจะเห็นภาพอินเทลกับไมโครซอฟท์เป็นมิตรที่ดีต่อกันเสมอมา แต่ในทางหนึ่งแล้วอินเทลเป็นผู้สนับสนุนโอเพนซอร์สโครงการหลักๆ เช่นตัวลินุกซ์เอง, โครงการ X.org หรือกระทั่งลินุกซ์ดิสโทรอย่าง Moblin
อย่างไรก็ตามโครงการสำคัญเช่น GCC นั้นกลับไม่ได้รับความช่วยเหลือจากอินเทลมากนัก เนื่องจากอินเทลมีคอมไพล์เลอร์เป็นของตัวเอง (ไม่ได้แจกฟรี) ต่างจากเอเอ็มดีที่ส่งโค้ดมาปรับปรุง GCC ให้ทำงานกับชิปของตัวเองได้ดีขึ้นอยู่เรื่อยๆ
อย่างไรก็ตาม Melanie Blower ซึ่งเป็นพนักงานของทางอินเทลได้ติดต่อไปยังมูลนิธิซอฟต์แวร์เสรี (Free Software Foundation - FSF) เพื่อขอเอกสารที่มูลนิธิต้องการ สำหรับการส่งโค้ดเข้าไปยังโครงการของมูลนิธิ
- Read more about อินเทลเตรียมส่งโค้ดจำนวนมากเข้า GCC
- 12 comments
- Log in or register to post comments