ไม่นานเกินรอเราคงได้เห็น JavaSE 6.0 ออกมาอาละวาดกัน วันนี้ผมแวะไปอ่านบล็อกของ David Dagastina วิศวกรควบคุมประสิทธิภาพของ JVM ก็เลยหยิบผลการทดสอบมาฝาก
เอนทรี่แรกว่าด้วยเรื่องการเปรียบเทียบประสิทธิภาพ JVM จากค่ายต่างๆ ทั้งของ Sun JDK 1.5.8 และตัว 6.0RC1 , IBM JDK 5.0 SR2 และ BEA JRockit 5.0_06 R26.4 โดยการทดสอบแบบแรกนี้จะทดสอบโดยไม่ปรับแต่งค่าใดๆ เพิ่มเติมเลย
การทดสอบในหมวดนี้ใช้เบนช์มาร์ก 3 ตัวในการเปรียบเทียบ - SPECjbb2005 สำหรับวัดประสิทธิการทำงานของฝั่งเซิรฟ์เวอร์ โดยจำลองการทำงานแบบ 3-tier ขึ้น - SciMark 2.0 สำหรับวัดประสิทธิภาพเรื่องการคำนวณทางตัวเลข และวิทยาศาสตร์ - Volano ไว้วัดประสิทธิภาพเรื่องเน็ตเวิรก I/O
จากผลการทดสอบยังไม่ต้องคลิ๊กไปดูก็น่าจะเดาได้ว่า JDK 6.0 RC1 ต้องเข้าวินมาเป็นอันดับหนึ่ง เหตุผลหนึ่งที่เป็นปัจจัยสำคัญเดวิดบอกว่า JDK 6.0 จะเปิดค่าตั้งต้นที่มีผลทำให้ประสิทธิภาพดีขึ้นมาตั้งแต่แรก ต่างจากรุ่นก่อนๆ ที่ไม่ได้เป็นเช่นนั้น
เท่าที่ดูจากการทดสอบทั้ง 3 ตัว เดวิดยังไม่ได้ทดสอบประสิทธิภาพของ Swing แอพลิเคชั่นให้เราดู ซึ่ง JDK 6.0 คุยหนักคุยหนาว่าพัฒนาให้เร็วขึ้นกว่าเดิมเยอะ ก็ถ้ามันเป็นไปอย่างที่ทางซันคุยไว้จริง ก็ต้องถือเป็นนิมิตรหมายอันดีว่าเราจะมีจาวาที่เร็วขึ้นให้ใช้กัน
บล็อกเอนทรี่ถัดไปมีการเปรียบเทียบ JDK แบบรุ่นที่ยังไม่ได้ปรับแต่งค่า เทียบกับรุ่นที่ปรับแต่งค่าแล้วให้ดูด้วย
ที่มา - David Dagastine's Blog
Comments
ไม่อยากได้ JDK ที่พัฒนาให้ Swing เร็วขึ้น แต่อยากได้ JDK ที่ให้พัฒนา Swing เร็วขึ้น
onedd.net
กว่าพี่ซันแกจะปรับเหอๆๆๆ แต่นี่ปรับแข่งกับ Java เหมือนกันทั้งหมดนิ ถ้าIBM หรือ BEA JVM Java6 มันก็เร็วขึ้นไปอีก
แต่ไม่รู้เทียบกับภาษาอื่นแล้วเป็นไงนะ
wiennat - แปลว่านี่ยังไม่ได้ลอง Matisse ใช่ไหมเนี้ยะ ผมลงข่าว NetBeans Matiisse ไปก็หลายรอบ รับรองว่าเก่งกว่า VS.NET นะเออ
ใจนึงก็ดีใจที่จาวาจะเร็วขึ้น อีกใจก็แบบว่า....เฮ้ย ออกมาอีกแล้วเรอะ....จาวา 5 ชั้นยังไม่ถึงไหนเลย... :P
smilelovehappiness : งานของผมตอนนี้เป็น Java 1.1 ไม่ใช่สิ MS JVM ด้วยซ้ำ
ปกติก็เร็วขึ้นอยู่แล้วนี่ครับ ถ้ามันจะเร็วขึ้นกว่าเดิม ก็ต้องบอกว่าน่ายินดีจริงๆ
Patrickz's blog|
linkedin
แง๊ๆ Java 1.1 อยู่คนเดียว
ก็เพราะว่าเขาทดสอบแล้ว Swing มันไม่ได้เร็วกว่าเดิมมากนักน่ะซิ เมื่อเทียบกับทางฝั่งของ IBM ทีมี SWT เป็นหัวหอก และ SWT ตอนนี้ก็ลงไปเล่นในตลาด Pocket PC, Palm ได้แล้ว Swing ยังทำไม่ได้เลย
คุณ Gmz - แรงเหมือนเดิมเลยนะครับ ขอแหล่งที่มาด้วยว่าไม่ได้เร็วกว่าเดิม ?
บน Pocket PC โดยทั่วไปเค้าก็ใช้แค่ AWT กันนะ และถ้า CDC รุ่นใหม่ๆ (ที่สนับสนุน JSR-209 หรือมี JVM ที่สนับสนุน) อย่าง Nokia series 80 ก็สามารถใช้ Swing ได้แล้วนะครับ ยังไม่นับรวมพวกที่เป็น Linux OS หรือ SavaJe OS : )
deans4j - โอ้...ความรู้ใหม่
Swing
Java Version: 1.6.0-rc Look & Feel: The Microsoft Windows Look and Feel Time to Show: 391 millis. Benchmark Run Time: 15640 millis. Average Run Time: 782 millis (20 runs).
Swt
Java Version: 1.6.0-rc Time to Show: 203 millis. Benchmark Run Time: 17782 millis. Average Run Time: 889 millis (20 runs).
Swing on Java L&F (Steel)
Java Version: 1.6.0-rc Look & Feel: The Java(tm) Look and Feel Time to Show: 360 millis. Benchmark Run Time: 12219 millis. Average Run Time: 610 millis (20 runs).
Swing on Java L&F (Ocean)
Java Version: 1.6.0-rc Look & Feel: The Java(tm) Look and Feel Time to Show: 360 millis. Benchmark Run Time: 16250 millis. Average Run Time: 812 millis (20 runs). ที่มา: SWT vs Swing on JDK 6.0 RC
อ่านตรงไหนก็ได้ swing เร็วกว่านิครับ นี่เค้าทดสอบบน windows แล้วนะครับ ถ้าเอาไปวิ่งเทียบกันใน linux นี่ swt ไม่กระจุยหรอ?
deans4j : วัดที่ Times to Show รึเปล่า Swing Java Version: 1.6.0-rc Look & Feel: The Microsoft Windows Look and Feel Time to Show: 391 millis. <---- Swt Java Version: 1.6.0-rc Time to Show: 203 millis. <----
เอ่อ AWT จงเจริญ :)
อย่างที่คุณ plynoi ว่าครับ ผมวัดที่ Time to show เพราะว่า เวลาที่เราบอกว่าใครเร็วกว่า เราใช้ความรู้สึกทั้งนั้นครับ ไม่ใช่ตัวโปรแกรมอะไรที่มาวัดมันหรอก ผมไม่ใช่พวกช่างเทคนิคจ๋าแบบคุณ deans4j หรอกครับ เน้นเป็นผู้ใช้ซะส่วนใหญ่ ดังนั้นเรื่องความเร็วในการแสดงผลจึงเป็นตัวตัดสินใจในการใช้งานอันดับต้น ๆ เลยล่ะ เพราะแค่มันเปิดเร็วกว่าเราก็จะรู้สึกแล้วว่า มันต้องดีกว่าไอ้อันที่ช้าแน่ ๆ
wiennat - มองในแง่นักพัฒนาอย่างเดียวคงไม่เหมาะมั้งครับ น่าจะมองในแง่การทำธุรกิจด้วย ซึ่งผู้ใช้เป็นหัวใจหลักเลย ถ้าโปรแกรมทำงานช้าจะมีคนมาซื้อไปใช้ไหมครับ นี่แหละที่ทำไม Delphi และ C++ ถึงครองแชมป์ตลอดกาล นอกจากจะต้องเปิดเร็วแล้ว ยังต้องทำงานเร็วด้วย อย่าง OpenOffice.org 2.0 ล่ะ ซันเป็นเจ้าของนิครับ ทำไมถึงใช้ C++ แทน Java ล่ะ
Time to show มันไม่ใช่นัยสำคัญที่ดีที่จะบอกว่าอะไรเร็วกว่ากัน? ถ้า SWT มันขึ้นมาก่อนก็จริงแต่ถ้าระหว่างทำงาน ทำงานได้ช้ากว่าละ? คลิ๊กแล้วหน่วง วาดภาพแล้วกระตุก? คุณจะใช้อันไหน? ระหว่างโหลดขึ้นมาช้ากว่าแค่ครั้งแรกครั้งเดียวแต่ตอนทำงานทำได้เร็วกว่าตลอด ไม่ต้องห่วงเรื่อง performance ระหว่าง platform ต่างๆ
พยายามเข้าครับ พยายามเข้า :)