Tags:
Node Thumbnail

แม้ว่าภาษา Python จะมีความดีงามหลายๆ อย่างโดยเฉพาะตัว syntax ที่เข้าใจได้ง่ายมาก แต่โครงสร้างของ Python เองนั้นยังคงมีปัญหาในแง่ของประสิทธิภาพ และการทำงานแบบขนานบนคอมพิวเตอร์ที่มีหลายซีพียูอยู่

งานนี้กูเกิลในฐานะคนใช้ Python ระดับ "ตัวพ่อ" คนหนึ่ง (Guido van Rossum คนสร้าง Python ก็ทำงานที่กูเกิล) ก็เปิดโครงการพัฒนา Python ในชื่อโครงการ unladen-shallow โดยมีเป้าหมายคือ

  1. สร้าง Python ที่เร็วกว่าเดิมอย่างน้อยๆ 5 เท่าตัว
  2. ความเร็วในการทำงานต้องมีเสถียรภาพดีขึ้น
  3. เข้ากันได้กับซอฟต์แวร์ที่ใช้ Python เดิม
  4. เข้ากันได้กับโมดูลเดิมของ Python
  5. โครงการเป็นการสร้าง branch เพื่อเตรียมรวมกลับเข้าโครงการหลักเท่านั้น ไม่ใช่การแยก Python

ความเข้ากันได้ของโครงการนี้จะเป็นความเข้ากันได้ในระดับซอร์ส นั้นคือโปรแกรมที่ต้องการใช้ Python รุ่นของกูเกิลนี้จะต้องคอมไพล์ใหม่ แต่ก็ไม่ใช่ปัญหาใหญ่นักสำหรับโลกโอเพนซอร์ส

ที่น่าสนใจคือโครงการนี้มีความหวังว่าจะขจัด Global Interpreter Lock (GIL) ที่เป็นปัญหาหลักที่ทำให้ภาษา Python ไม่สามารถทำงานได้เต็มประสิทธิภาพเมื่อใช้บนเครื่องหลายซีพียูมานาน และมีความพยายามแก้ปัญหานี้หลายต่อหลายครั้งแล้ว

ตัว Guido van Rossum เองเคยตั้งเงื่อนไขในการแก้ไขปัญหานี้ไว้ว่าการทำให้ Python รองรับ Multi-Core นั้นจะต้องไม่ไปลดประสิทธิภาพของซอฟต์แวร์ปรกติลง

ที่มา - ArsTechnica, unladen-shallow

Get latest news from Blognone

Comments

By: konkeanweb on 27 March 2009 - 10:44 #93278
konkeanweb's picture

โอ้ววว ชอบจัง คลอดออกมาเร็ว ๆ นะครับบบบ จะได้อัพเกรด

By: sugree
FounderWriterAndroidBlackberry
on 27 March 2009 - 10:45 #93279

ลาก่อน GIL!!!

By: obiconbig
iPhoneIn Love
on 27 March 2009 - 10:49 #93283

โอ้โห ปรับแรงกว่าเดิม 5 เท่า sugree ชอบเลย

ผมก็คงต้องหันมาจริงจังบ้างแล้ว

By: mossila
iPhoneWindows PhoneAndroidBlackberry
on 27 March 2009 - 11:00 #93286
mossila's picture

5 เท่า!! อย่างน้อย!! ตอนนี่มันก็เร็วโขแล้วนะ!

:→♀MOSS♂←:A LITTLE PLANT ON THE ROCK.

By: wiennat
Writer
on 27 March 2009 - 11:50 #93303 Reply to:93286

มันจะเร็วยังไงแต่ผมว่ามันก็ยังช้าอยู่นะครับ

onedd.net


onedd.net

By: chaow
Android
on 27 March 2009 - 11:59 #93306 Reply to:93303
chaow's picture

ช้ายังไงครับช่วยอธิบายหน่อยครับผมจะได้หลีกเลี่ยง

By: qute on 27 March 2009 - 13:06 #93318 Reply to:93306

แค่เทียบกับ Java ก็ช้ากว่ามากๆ แล้วครับ

By: chaow
Android
on 27 March 2009 - 17:03 #93417 Reply to:93318
chaow's picture

อ๋อเข้าใจละครับ

By: Jonix
iPhoneAndroidUbuntu
on 28 March 2009 - 02:31 #93553 Reply to:93318
Jonix's picture

เห็นด้วย

Java VM สมัยใหม่คอมไพล์ byte code เป็น native code
ช้าตอนเปิดโปรแกรม

By: lancaster
Contributor
on 30 March 2009 - 03:45 #93745 Reply to:93553

ช้าตอนโหลด JVM :P

By: mossila
iPhoneWindows PhoneAndroidBlackberry
on 27 March 2009 - 16:27 #93388 Reply to:93303
mossila's picture

ขอโทษครับถ้าผมผิดพลาดประการใด ผมว่ามันเร็วแล้ว แต่ว่า 5 เท่านี่มันเหลือเชื่อ
ความเร็วหลักๆ ยังไงก็น่าจะมาจาก algorithm ที่ดีอยู่ดี
ภาษาดี algo ห่วยแตก โปรแกรมช้าเป็นเต่าแน่นอน :)

Moss 's blog

By: lunargone
Android
on 27 March 2009 - 12:08 #93309

อยากให้เกิดกับ Ruby มั่ง
_______________________
อำลา

By: cwt
AndroidRed Hat
on 27 March 2009 - 13:33 #93330

IronPython ไม่มี GIL นะครับ

By: pawinpawin
Writer
on 27 March 2009 - 13:41 #93333

แล้ว R จะได้อานิสงส์ไปด้วยไหมครับ...

_________________pawinpawin | blog

By: cwt
AndroidRed Hat
on 27 March 2009 - 13:44 #93334

จริงๆ แล้วถ้าใครใช้ 2.6.x ลองใช้ multiprocessing ดูก็ได้ครับ

ถ้าใช้ 2.4/2.5 ก็เอาตัวนี้ไปลง http://code.google.com/p/python-multiprocessing/

@sugree ลองทำ benchmark โดยใช้ multiprocessing ดูมั้ยครับ?

By: sugree
FounderWriterAndroidBlackberry
on 27 March 2009 - 14:14 #93344 Reply to:93334

PEP-371 แค่พยายามเลี่ยง GIL โดยแยกโปรเซส แต่ GIL ตัวจริงยังอยู่เหมือนเดิมทุกอย่าง แยกโปรเซสแล้วจะใช้ address space แยกกันจึงไม่มี GIL ถ้าจะใช้วิธีนี้ต้องแก้โค้ดเก่าทั้งหมด ห้ามใช้ thread แบบเดิม ต้องส่งข้อมูลกันด้วย IPC แทน

ถ้าเชือด GIL ออกได้โดยไม่ต้องแก้โค้ดจะดีกว่านะ

By: lew
FounderJusci's WriterMEconomicsAndroid
on 27 March 2009 - 14:28 #93350 Reply to:93334
lew's picture

IPC เจอโปรแกรมที่ highly coupled ก็เดี๊ยงครับ เสียเวลาส่งข้อมูลไปมามหาศาล

LewCPE


lewcpe.com, @wasonliw

By: khajochi
WriteriPhoneIn Love
on 27 March 2009 - 16:45 #93402
khajochi's picture

Java หนาวแน่นอน

---
Khajochi Blog : It's not a Bug ... It's a Feature


แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com

By: absulation
AndroidWindows
on 27 March 2009 - 17:29 #93426
absulation's picture

สงสัย ต้องหัดอย่างจริงจังๆซ่ะแล้ว