ทีม Bing โชว์ผลลัพธ์ย้ายจาก .NET Framework เป็น .NET Core ประสิทธิภาพดีขึ้นมาก

2018-08-24

ทิศทางของไมโครซอฟท์เรื่อง .NET ชัดเจนว่าต้องการย้ายจาก .NET Framework ไปสู่ .NET Core แต่การเปลี่ยนผ่านก็ยังไม่ง่ายนัก เพราะ .NET Core ยังขาดฟีเจอร์หลายอย่างที่เคยมีใน .NET Framework (เช่น การซัพพอร์ต WPF/WinForms ที่จะมาใน .NET Core 3.0)

อย่างไรก็ตาม สถานะของ .NET Core 2.x ในปัจจุบัน ถือว่าพร้อมแล้วสำหรับงานฝั่งเซิร์ฟเวอร์ ทำให้ทีมงาน Bing.com เวอร์ชันเว็บ ที่สร้างขึ้นตั้งแต่สมัย .NET Framework ตัดสินใจย้ายงานมารันบน .NET Core 2.1 ได้สำเร็จด้วยดีในเดือนมิถุยายนที่ผ่านมา

No Description

ทีมงาน Bing.com บอกว่าอยากย้ายมาสู่ .NET Core นานแล้ว แต่ต้องรอให้ .NET Core พร้อมก่อนในเวอร์ชัน 2.x เพื่อให้มีฟีเจอร์ทัดเทียมกันกับ .NET Framework เดิม ทำให้ลดภาระดัดแปลงแก้ไขโค้ดของ Bing.com ลงจากเดิมมาก

ผลจากการย้ายมาสู่ .NET Core 2.1 ที่มีประสิทธิภาพสูงกว่าในระดับรันไทม์ ทำให้ Bing.com มีประสิทธิภาพสูงตามไปด้วย โดยเฉพาะ latency ที่ลดลงได้ถึง 34% หลังย้ายระบบ (ดูกราฟประกอบ)

No Description

ข้อดีอื่นๆ ของการใช้ .NET Core เหนือ .NET Framework คือ

  • สามารถทำ pre-compile รอไว้ตั้งแต่ก่อนดีพลอย ทำให้ลดระยะเวลาและทรัพยากรของการทำ JIT compile เมื่อนำไปรันงานจริงบนเครื่อง production
  • สามารถฝังรันไทม์ลงในแอพพลิเคชัน ทำให้เปลี่ยนแปลงแก้ไขเวอร์ชันของรันไทม์ได้ง่าย การดีพลอยและการทำ CI/CD จึงง่ายขึ้น ผลคือได้ใช้รันไทม์เวอร์ชันที่อัพเดตล่าสุดได้บ่อยขึ้น ทีม Bing สามารถอัพเดตรันไทม์ตามหลังทีม .NET เพียง 2 วันเท่านั้น

ที่มา – .NET Blog