By mk Founder on Tag: Java, .NET
Java

ที่ BentUser มีการทดสอบประสิทธิภาพสองแพลทฟอร์มคู่กัดในการพัฒนาโปรแกรมยุคใหม่ .NET 2.0 และ Java 1.5 ผลสรุปว่า .NET ชนะ 2 ใน 3 การทดสอบ รายละเอียดเกี่ยวกับการทดสอบอ่านได้จากลิงก์ข้างต้น

ก่อนที่แฟนๆ ทั้งฝ่าย Java และ .NET จะทะเลาะกันเช่นเดียวกับฟอรัมอื่นๆ ขอให้นึกไว้เสียว่า การทดสอบ benchmark แบบนี้ไม่มีผลที่ถูกต้องแท้จริงอยู่แล้ว benchmark เป็นเครื่องมือในการยืนยันความเชื่อซะมากกว่า ยิ่งไม่ต้องลืมว่า benchmark สามารถโกงได้อีกด้วย (nVidia ทำมาแล้วนะครับ)​ดังนั้นอ่านเอาความรู้เฉยๆ ดีกว่าครับ

การทดสอบจะเป็นกลางขนาดไหนไม่รู้ แต่ผมค่อนข้างชอบข้อสรุปของบทความนี้ คือ .NET และ Java ทำให้การเขียนโค้ดง่ายขึ้นจริง แต่โปรแกรมที่เราใช้อยู่ทุกวี่วันยังเป็น C/C++ กันทั้งนั้น การใช้แพลทฟอร์มในการพัฒนาแบบ dynamic ที่มี managed code ต้องแลกมาด้วยข้อเสียในเรื่องประสิทธิภาพอยู่แล้ว เมื่อเทียบกับ native ถ้าคุณตัดสินใจเลือก Java/.NET ด้วยเหตุผลด้านความง่ายในการพัฒนาตั้งแต่แรก เรื่องประสิทธิภาพก็ไม่ต้องใส่ใจมากมายครับ

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

lew Sat, 05/11/2005 - 22:57

โดยส่วนตัวที่ใช้งานมาเองรู้สึกว่า .NET เร็วกว่าตั้งนานแล้ว แต่เรื่องนี้ก็คงมีข้อโต้แย้งว่า Java นั้นเป็น Platform-Independent อย่างแท้จริง มากกว่า .NET

ลองสองแพลตฟอร์มนี้มานาน ผมกลับรู้สึกว่าโลกเดสก์ทอปยังไม่พร้อมสำหรับ Managed Code พวกนี้เลย เพราะที่ว่าความเร็วเครื่องในวันนี้สูงพอที่จะเอามาจ่ายเป็น Overhead นั้นดูเหมือนยังไม่จริงซักเท่าใหร่

เคยพยายามพอร์ตตัวเองไปอยู่ Java มาพักหนึ่ง พบว่าโปรแกรมต่างๆ เมื่อใช้รวมๆ กันแล้ว เครื่องแทบจะเดี๊ยงเอา วันนี้โปรแกรมที่ใช้แล้วเหลือรอดก็มีแต่ jEdit ที่กำลังวางแผนจะเอาออกเพราะมันกินแรมผมไป 40 เมก มันมากเกินไปสำหรับ Text-Editor

เรื่องการโกงก็เคยเจอมาบ้างที่การ์ดจอ Asus มีการ Overclock มาจากโรงงานเลย ส่วนพวก Benchmark นี่โกงกันตั้งแต่ผมยังไม่เริ่มจับคอมเลยก็มีมาแล้ว

plynoi Sun, 06/11/2005 - 00:30

ตามอยู่ที่ OSNEWs เหมือนกับครับ(ตอบไป 2 reply) มันเป็นเปรียบเทียบ .NET2.0 กะ Java 5 ซึ่ง .NET 2.0 ออกหลัง Java 5 ตั้งนาน(เกือบๆครึ่งปี ถึงปีนึงด้วยซ้ำ) ถ้ามันไม่ดีกว่าก็ให้มันรู้ไปครับ

ป.ล. โกง VGA ATI ก็ทำนะ

Anonymous Sun, 06/11/2005 - 01:38

โลกนี้ยังมีคนไช้ apple กะ linux .net คงไม่สามารถยึดครองตลาดใด้แบบ ie .... แต่ .net ก็เร็วกว่า java จริงๆ java น่าจะทำโปรแกรมใหม่ให้ไปคำนวณที่เครื่องตัวเองแบบ .net เพื่อการชนะที่สมบูรณ์

deans4j Sun, 06/11/2005 - 06:20

ก็ว่ากันไปครับ บทความถ้าออกจากฝั่ง microsoft จะให้บอก Java ชนะ มันก็ยังไงๆ อยู่

ของอย่างนี้ก็ bias กันไป ทีใครทีมันครับ ตามไปอ่านมาแล้ว ปรากฏว่า การทดสอบแบ่งเป็น 3 การทดสอบดังนี้

- ความเร็วของการทำงาน โดยเน้นที่การใช้ memory หนักๆ โดยใช้ selection sort ซึ่งเป็นการ sort แบบไม่ค่อยมีประสิทธิภาพ เพราะต้องใช้ memory สูง

การทดสอบนี้ .Net ชนะไป

- การทดสอบที่สอง เป็นการทดสอบประสิทธิภาพของการจัดการ memory ทดสอบโดยแข่งกัน allocate สร้าง float 100,000 ตัว ใครเสร็จก่อนชนะ

การทดสอบนี้ Java ชนะไป

- การทดสอบที่สาม เป็นการตบหัว Java อีกรอบโดยเป็นเรื่องเดิมคือการ ทดสอบประสิทธิภาพของการจัดการ memory ในการใช้งานแบบ real world application

ต้องกล่าวเพิ่มเติมหน่อยตรงที่ .Net กับ Java นั้น implement native type แตกต่างกัน Java ถ้าเป็น native type จะไม่ใช่ Object type คือถ้าจะใช้งานแบบให้เป็น Object type ต้องใช้ Wrapper Class มาหุ้มอีกทีนึงก่อน

แตกต่างจาก .Net ที่ treat เจ้า native type ต่างๆ เหมือนเป็น object type จริงๆ

ผลการทดสอบก็ออกมาตามคาด .Net ก็ชนะไป

ส่วนตัวมองการทดสอบนี้ไม่ค่อย แฟร์ เท่าไหร่ เหมือนรู้อยู่แล้วว่า Java มีจุดอ่อนตรงไหน ก็ไปทำ benchmark ตรงนั้นซะงั้น

wiennat Sun, 06/11/2005 - 10:14

ไม่ค่อยเชื่อผลทดสอบแบบนี้เท่าไหร่

จะใช้อะไรก็ใช้เหอะ

MP3WizarD Sun, 06/11/2005 - 20:06

no comment เพราะผมทำงานด้าน graphic เสียมากกว่า.. แต่ยังไงก็แอบเชียร์ java อยู่ลึกๆ ... เพราะผมยังใช้ Apple ทำงานเป็นหลัก

TiD Sun, 06/11/2005 - 22:31

ถ้าไม่สนผล benchmark ครั้งนี้

ผมว่า syntax และ semantic ของ .NET มัน familiar มากกว่า Java สำหรับคนเขียน C มาก่อนอย่างผมนะครับ

และ Java ก็ยังเน้นเรื่อง backward compatible มากไปจนทำให้ประสิทธิภาพลดลงพอสมควร security ก็สู้ .NET ไม่ได้(โดยเฉพาะเรื่อง Generic ของ Java 5 ก็เห็นได้ว่ามันไม่ใช่แค่ประสิทธิภาพลด แต่มันคือรัน code บางแบบไม่ได้เลย)

ซักวันเมื่อเครื่องแรงพอ managed code นี่คงจะเป็นอะไรที่เป็นตัวเลือกอันดับหนึ่งแหละครับ C/C++ นี่ข้อเสียเรื่อง memory management นี่ก็เป็นปัญหากับ programmer พอสมควรเลยนะครับ (เป็นสาเหตุที่ทำให้ผมไม่ใช้ firefox ล่ะครับ)

plynoi Mon, 07/11/2005 - 02:04

"Java ก็ยังเน้นเรื่อง backward compatible มากไป"

เห็นด้วยนะคร้าบบบบบบบบบบบบบ ผมลุ้นอยู่ว่าถ้า Sun ยอมรื้อสักรอบ อะไรๆน่าจะดีขึ้นกว่านี้

หรือว่า Java5 ออก Generic มาก่อน เพื่อลองของก่อน MS???

sid Mon, 07/11/2005 - 11:52

ผมว่าโอกาสที่จะริ้อคงยากครับเพราะ Sun เน้นเรื่อง backward compatability ค่่อนข้างมาก แต่ยังไงผมก็ยังเชื่อมั่นในอนาคตของ Java ว่าจะยังดีขึ้นไปเรื่อยๆแน่นอนครับ

ตอนนี้ก็รอ Java 6.0 อยู่อย่างใจจดใจจ่อ

teedech Thu, 15/12/2005 - 03:28

ผมคิดว่า นักคอมพิวเตอร์ช่วงหลังๆ จะคำนึงเรื่อง Reliability, Security และ Reusaibility มากกว่า Performance ครับ โดยเฉพาะเรื่อง Project's Success ทำให้ VM มีบทบาทตรงนี้มาก เพราะหลายๆ Application ที่เป็นผลผลิตของนักคอมพิวเตอร์มีปัญหาอย่างหนักที่ 1.ทำไม่ค่อยทัน ยิ่งโครงการเก่ายิ่งแก้บักนาน 2.ตั้งอยู่ได้ไม่นาน (ไม่ค่อยเสถียร) 3.ยากในเรื่อง Portable แม้ Performance จะตกลง แต่ก็แลกมาซึ่งข้อดีอีกหลายอย่าง ผมว่าคุ้มครับ ที่จะใช้ .NET หรือ Java platform ในการพัฒนาซอฟแวร์ ทุกวันนี้การผลิตซอฟแวร์จะต้องเกี่ยวกับเงิน งานวิจัยทาง Software Engineering จึงมีบทบาทในการกำหนดทิศทางของการพัฒนาซอฟแวร์ครับ

Gmz Thu, 01/06/2006 - 11:26

สงสารคนงบน้อยหน่อยซิครับ performance ก็ยังสำคัญนะครับ ก็รอดู jdk 6.0 เนี่ยแหละครับ ว่าจะเร็วขึ้นกว่าเก่าไหม