7 คะแนน โดย xguru 2024-05-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Kotlin K2 compiler กลายเป็นเวอร์ชันทางการแล้ว โดยมีข้อดีเช่น ประสิทธิภาพที่ดีขึ้นเมื่อเทียบกับคอมไพเลอร์เดิม ความเร็วในการพัฒนาฟีเจอร์ภาษาใหม่ที่มากขึ้น และโครงสร้างที่ปรับปรุงสำหรับโปรเจกต์มัลติแพลตฟอร์ม
  • มีการปรับปรุง smart cast ในตัวแปรโลคัลและสโคปที่กว้างขึ้น การตรวจสอบประเภทด้วยตัวดำเนินการ logical or, inline function, คุณสมบัติชนิดฟังก์ชัน, การจัดการข้อยกเว้น, ตัวดำเนินการเพิ่ม/ลดค่า เป็นต้น
  • ในโปรเจกต์มัลติแพลตฟอร์ม มีการแยกอย่างเข้มงวดระหว่างการคอมไพล์ซอร์สร่วมและซอร์สของแต่ละแพลตฟอร์ม และใน expect/actual declaration สามารถมีระดับการมองเห็นต่างกันได้
  • Kotlin/Wasm ได้รับการปรับปรุง เช่น รองรับการเพิ่มประสิทธิภาพด้วย Binaryen เป็นค่าเริ่มต้น รองรับ named export, รองรับ unsigned primitive type ในฟังก์ชัน @JsExport, รองรับการ catch JS exception เป็นต้น
  • Kotlin/JS ได้รับการปรับปรุง เช่น เพิ่มเป้าหมายการคอมไพล์ es2015, คอมไพล์ suspend function เป็น ES generator, ส่งอาร์กิวเมนต์ให้ฟังก์ชัน main, คอมไพล์ระดับไฟล์, ปรับปรุง collection interop, ปลั๊กอิน js-plain-objects เป็นต้น
  • Kotlin Multiplatform ได้รับการปรับปรุง เช่น การตั้งค่า compiler options ด้วย Gradle DSL, การรวม Compose compiler plugin, การเปลี่ยนโฟลเดอร์ข้อมูล Kotlin, การดาวน์โหลด Kotlin/Native compiler เมื่อต้องใช้ เป็นต้น
  • ฟังก์ชัน generic สำหรับแทนที่ values ของ enum class ใน standard library, อินเทอร์เฟซ AutoCloseable, และ common extension functions ได้เปลี่ยนเป็นสถานะ stable

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

 
ganadist 2024-05-23

นี่คือเบนช์มาร์กประสิทธิภาพคอมไพเลอร์แบบง่าย ๆ (และสุดโต่ง)
https://github.com/ganadist/kotlin_build_performance

  • แต่ละโปรเจ็กต์มี class 200 ตัว และแต่ละ class มีฟิลด์ 2000 ตัว

  • java : 2 วินาที

  • kotlin 1.9.24 : 1 นาที 20 วินาที

  • kotlin 2.0.0 : 1 นาที 1 วินาที

ทดสอบบน Macbook Pro M1 Max

โปรเจ็กต์ข้างต้นเป็นกรณีที่ค่อนข้างสุดโต่ง แต่โดยทั่วไปแล้วดูเหมือนว่าความเร็วในการคอมไพล์ของ kotlin 2.0 จะเร็วกว่า 1.9 ราว 2 เท่า