Tags:
Topics: 
Node Thumbnail

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

Get latest news from Blognone

Comments

By: bact' on 2 June 2005 - 00:04 #1184

gcj มันช้ากว่า sun jvm นี่ :P

By: bact' on 2 June 2005 - 00:20 #1185

พูดใหม่:

ไม่ใช่ "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) ไม่ได้เทียบ ภาษา หรือ แพลตฟอร์ม )

By: bact' on 2 June 2005 - 00:22 #1186

หน้าเดียวกัน มีโชว์ประสิทธิภาพ 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

By: bact' on 2 June 2005 - 00:31 #1187

สรุปแล้วก็คือ ที่เค้าใช้ Mono ไม่ใช่เพราะ "ประสิทธิภาพดี" (ดูจากการทดสอบก็เห็นแล้ว ว่าช้าสุด)

แต่เพราะ เค้าใช้ Sun JVM ไม่ได้ (ไม่ใช่ซอฟต์แวร์เสรี/โอเพนซอร์ส)

ส่วน GCJ แม้จะประสิทธิภาพดีกว่า Mono และเป็นซอฟต์แวร์เสรี แต่ก็มีปัญหาทางเทคนิค (เช่น memory leak ที่ว่าไป, ยังไม่เสถียรมากนัก, มีปัญหาการคอมไพล์/ใช้งานไม่ได้กับซอฟต์แวร์บางตัว)

ก็เลยต้องเลือก Mono

By: bact' on 2 June 2005 - 00:41 #1188

และ อย่างไรก็ตาม

Wikipedia ก็ยังไม่ได้เอา Mono + dotLucene มาใช้จริง ๆ แค่ทดสอบเท่านั้น (GCJ ก็เหมือนกัน สลับกันไปมา เพื่อทดสอบ)

http://www.spindazzle.org/green/index.php?p=53

ตา Miguel แก marketing เก่ง อย่าไปเชื่อหมดทันที :P