Miguel De Icaza แห่ง Novell ประกาศว่า Wikipedia สารานุกรมออนไลน์แบบอาสาสมัคร จะเปลี่ยนระบบการทำ index ข้อมูลจากที่เคยใช้ GCJ กับ Lucene (index engine) มาเป็น Mono กับ dotLucene (คือ Lucene ที่พอร์ตมาบน Mono และใช้กับ GNOME Beagle ด้วย) ก็เหมือนเป็นการข่มประสิทธิภาพระหว่างค่าย (Mono/C# กับ Java) กันเห็นๆ เลยล่ะครับ
อีกข่าวที่เกี่ยวข้องกันคือ Ubuntu จะรวมเอา Mono เข้ามาด้วย ซึ่งจะทำให้เป็นดิสโทรรายใหญ่รายที่สอง (ถัดจาก SuSE ที่เป็นของ Novell เหมือนกัน) ในขณะที่ Red Hat/Fedora ประกาศแล้วว่า ยังไงก็ไม่สามารถรวม Mono เข้ามาด้วยอย่างแน่นอน (เหตุผลไม่เปิดเผย)
จาก OSNews
Comments
gcj มันช้ากว่า sun jvm นี่ :P
พูดใหม่:
ไม่ใช่ "gcj มันช้ากว่า sun jvm นี่"
แต่เป็น Classpath ซึ่ง GCJ ใช้ มันประสิทธิภาพสู้ library ใน J2SE implementation ของ Sun ไม่ได้นี่
จาก OSNews น่ะแหละ เค้าว่างี้:
Wikipedia full text search
By Seo Sanghyeon (IP: 211.104.100.---) - Posted on 2005-05-31 16:41:55
Here's the full detail of Wikipedia full text search engine choice, if you want to investigate:
http://meta.wikimedia.org/wiki/User:Brion_VIBBER/MWDaemon
Summary:
Performing full text search for "pope" 100 times sequentially, using English Wikipedia 2005-03-09 dump, which returns 6890 results. Average of 100 runs.
GCJ 4.0 -O2: 588.3437 ms (fastest) Sun Java 1.5 -server: 636.9209 ms Sun Java 1.5: 695.5374 ms GCJ 4.0: 707.2302 ms Mono 1.1.6: 894.4488 ms (slowest)
As you can see, GCJ *is* the fastest. (But it's not using Classpath's default regex, which is too slow -- a free alternative JRegex was suggested. Read the page for details.) But GCJ seems to have some memory leak problem. (Again, read the page.)
สรุปความได้ว่า Mono ช้าสุด และ GCJ (ออพติไมซ์ -O2) + JRegex เร็วสุด (ไม่ใช้ regex library ของ Classpath เพราะมันช้า)
เรียงลำดับได้ดังนี้
GCJ 4.0 -O2: 588.3437 ms (GCJ คอมไพล์แบบออพติไมซ์ -- เร็วสุด) Sun Java 1.5 -server: 636.9209 ms (Sun JVM ให้ HotSpot VM ทำงานแบบเซิร์ฟเวอร์) Sun Java 1.5: 695.5374 ms (Sun JVM ให้ HotSpot VM ทำงานปกติ) GCJ 4.0: 707.2302 ms (GCJ คอมไพล์แบบธรรมดา) Mono 1.1.6: 894.4488 ms (Mono -- ช้าสุด)
แต่ GCJ มีปัญหาเรื่องไม่คืนหน่วยความจำ
จากตรงนี้ ที่ว่ามาข้างต้นว่า
"ก็เหมือนเป็นการข่มประสิทธิภาพระหว่างค่าย (Mono/C# กับ Java)"
ก็ดูจะไม่ใช่น่ะ :P
(เค้าเทียบตัวซอฟต์แวร์ (implementation) ไม่ได้เทียบ ภาษา หรือ แพลตฟอร์ม )
หน้าเดียวกัน มีโชว์ประสิทธิภาพ Indexing ด้วย
Sun Java 1.5 -server: 120 หน้า/วินาที (เร็วสุด) Sun Java 1.5: 100 หน้า/วินาที Mono 1.1.6: 72 หน้า/วินาที GCJ 4.0 -O2: 33 หน้า/วินาที (ช้าสุด)
เร็วกว่าเกือบ ๆ เท่าตัว
----
id called my "SUNBOY", sorry :P
สรุปแล้วก็คือ ที่เค้าใช้ Mono ไม่ใช่เพราะ "ประสิทธิภาพดี" (ดูจากการทดสอบก็เห็นแล้ว ว่าช้าสุด)
แต่เพราะ เค้าใช้ Sun JVM ไม่ได้ (ไม่ใช่ซอฟต์แวร์เสรี/โอเพนซอร์ส)
ส่วน GCJ แม้จะประสิทธิภาพดีกว่า Mono และเป็นซอฟต์แวร์เสรี แต่ก็มีปัญหาทางเทคนิค (เช่น memory leak ที่ว่าไป, ยังไม่เสถียรมากนัก, มีปัญหาการคอมไพล์/ใช้งานไม่ได้กับซอฟต์แวร์บางตัว)
ก็เลยต้องเลือก Mono
และ อย่างไรก็ตาม
Wikipedia ก็ยังไม่ได้เอา Mono + dotLucene มาใช้จริง ๆ แค่ทดสอบเท่านั้น (GCJ ก็เหมือนกัน สลับกันไปมา เพื่อทดสอบ)
http://www.spindazzle.org/green/index.php?p=53
ตา Miguel แก marketing เก่ง อย่าไปเชื่อหมดทันที :P