5 คะแนน โดย xguru 2021-12-26 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • รวม YJIT แล้ว: JIT compiler แบบ in-process ตัวใหม่ที่ Shopify สร้างขึ้น

→ สถาปัตยกรรม Lazy Basic Block Versioning (LBBV)

→ ปรับปรุงความเร็วช่วง warm-up และประสิทธิภาพ โดยประมาณ 22%~39%

→ ปิดใช้งานไว้เป็นค่าเริ่มต้น สามารถใช้ได้ด้วย --yjit

  • รวม debug.gem ที่เขียนขึ้นใหม่

→ ปรับปรุงประสิทธิภาพการดีบัก

→ รองรับการดีบักระยะไกล

→ รองรับ debugging frontend อย่าง VSCode/Chrome

→ การดีบักแบบหลายโปรเซส/หลายเธรด

→ มี REPL แบบสีสันสดใสให้ใช้งาน

→ Record & Replay

  • เพิ่ม gem error_highlight

→ แสดงตำแหน่งข้อผิดพลาดอย่างละเอียดใน backtrace

  • เพิ่มฟีเจอร์ auto-complete ใน IRB

→ หากติดตั้งเอกสารไว้แล้ว จะแสดงเอกสารด้านข้างเมื่อทำ auto-complete

  • ภาษา

→ สามารถละค่าของ Hash literal และ keyword arguments ได้

⇨ {x: x, y: y} จะเป็น {x:, y:}

⇨ foo(x: x, y: y) จะเป็น foo(x:, y:)

→ สามารถใช้ expression กับตัวดำเนินการ Pin (^) ใน pattern matching ได้

⇨ Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a

→ สามารถละวงเล็บใน one-line pattern matching ได้

⇨ [0, 1] => _, x

⇨ {y: 2} => y:

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

 
xguru 2021-12-26

ตามธรรมเนียมที่ปล่อยเวอร์ชันทุกปีในช่วงคริสต์มาส ปีนี้ก็เช่นกัน