แอปเปิลรายงานถึงการย้ายโค้ดหลังบ้านของแอป Passwords ฟีเจอร์ Password Monitoring ที่ตรวจสอบว่ารหัสผ่านในฐานข้อมูลนั้นตรงกับรหัสผ่านที่เคยรั่วไหลหรือไม่ โดยระบบนี้เขียนด้วยจาวาเช่นเดียวกับระบบอื่นๆ ที่ให้บริการขนาดใหญ่ แต่ก็พบข้อจำกัดของระบบจัดการหน่วยความจำจาวาที่ทำให้แอปพลิเคชั่นกินแรมสูงขึ้น
บริการ Password Monitoring รันให้บริการทั่วโลก และแอปเปิลพบว่าโหลดไม่นิ่งตลอดทั้งวัน การใช้จาวาสร้างข้อจำกัดว่าไม่สามารถเปิด/ปิด instance ให้พอดีกับปริมาณโหลดได้เร็วพอ
ทีมงานพิจารณาภาษาอื่นๆ ก่อนตัดสินใจ โดยไม่ได้ถือว่าภาษา Swift เป็นของแอปเปิลเองแล้วจะตัดสินใจใช้งานทันที แต่ดูทั้งความง่ายของภาษาและประสิทธิภาพที่ได้จากการย้ายโค้ด จุดสำคัญ เช่น ฟีเจอร์ protocols ที่มาใช้แทน inheritance ในจาวา, ฟีเจอร์ optional type, และการรองรับ async/await และเมื่อพอร์ตโค้ดจริงโดยรวมโค้ดก็สั้นลง 85% ทีมงานใช้เฟรมเวิร์ค Vapor เพื่อสร้างเว็บเซิร์ฟเวอร์
หลังจากการย้ายโค้ด เซิร์ฟเวอร์รองรับโหลดได้เพิ่มขึ้น 40% และใช้แรมน้อยลง 90% โดยรวมทำให้แอปเปิลถอดเซิร์ฟเวอร์ออกจากบริการนี้ได้ครึ่งหนึ่ง
ที่มา - Swift.org
on
ปัญหาของ Java เวลาทำ…
Hoo Wed, 04/06/2025 - 23:32
ปัญหาของ Java เวลาทำ โปรแกรมใหญ่ ๆ คือ Garbage collector นี่แหละ
Java เร็วส์
KuLiKo Thu, 05/06/2025 - 03:33
Java เร็วส์
เช่น [ฟีเจอร์ protocols…
Azymik Thu, 05/06/2025 - 05:17
ตก tag ปิดครับ
จริงๆแล้วถ้าทำใหม่ด้วย java…
langisser Thu, 05/06/2025 - 13:17
จริงๆแล้วถ้าทำใหม่ด้วย java เหมือนเดิมผลลัพธ์ก็ไม่ได้ต่างกับ swift เท่าไรนัก
ไม่มีใครได้กล่าวไว้ ได้แต่สงสัย เพราะทำใหม่ก็เหมือน refactoring แบบนึงมั๊ยนะ