Tags:

ช่วงนี้ไม่มีสมรภูมิไหนสู้กันดุเดือดเท่ากับการแข่งเอนจินจาวาสคริปต์อีกแล้ว

เรื่องเริ่มจากค่าย WebKit นั้นเปิดตัว SquirrelFish (ปลากระรอก - โลโก้) เพื่อเป็นเอนจินตัวใหม่แทน JavaScriptCore ของเดิมที่สืบทอดมาตั้งแต่สมัย KJS จากนั้นก็เป็นฝั่ง Mozilla อัพเกรดเอนจิน SpiderMonkey มาเป็น TraceMonkey (ข่าวเก่า) และปิดท้ายด้วย V8 จากกูเกิล

ล่าสุด SquirrelFish ตัวเดิมแท้งก่อนคลอดเสียแล้ว เพราะทีมงานตัดสินใจทิ้งของเก่าและเปลี่ยนชื่อมันเป็น SquirrelFish Extreme (SFX) ซึ่งแรงกว่าเดิมอีกเท่าตัว (ผลการวัดด้วย SunSpider) และแรงกว่าใน Safari 3.0 ถึงสิบเท่า ส่วนผลการเปรียบเทียบกับเอนจินอีกสองตัวคือ TraceMonkey และ V8 ก็ดีกว่าตามคาด (กราฟ) ไม่งั้นคงยังไม่เปิดตัว

สาเหตุของประสิทธิภาพที่เพิ่มขึ้นคือเทคนิค 4 ประการดังนี้ (รอผู้เชี่ยวชาญมาอธิบายละกันนะครับ)

  • Bytecode Optimizations
  • Polymorphic Inline Cache
  • Context Threaded JIT
  • Regular Expression JIT

มีให้ลองเล่นแล้วใน WebKit nightly ว่าแต่เราลืม IE กับ Opera กันหรือเปล่า?

ที่มา - WebKit

Comments

By: dafty
AndroidWindows
dafty's blog
on 20/09/08 14:22 #65501 toggle
dafty's picture

... นั่นสิ IE กะ Opera ไปไหนหว่า

By: onimaru
SymbianWindows
onimaru's blog
on 20/09/08 19:38 #65520 Reply to:65501 toggle
onimaru's picture

รอเค้าเสร็จเรียบร้อยดีแล้วค่อยเอามาใส่ทีเดียว มั้ง ไม่แน่อาจซุ่มทำของตัวเองมั่ง


สิ่งที่เธอชอบมันจึงถูกและใช่ สิ่งที่เธอไม่ชอบมันจึงไม่ใช่และผิด

By: wiennat
Writer
wiennat's blog
on 20/09/08 14:26 #65502 toggle
wiennat's picture

ยังเชื่อมั่นใน Mozilla ว่าจะทำให้ Tracemonkey เร็วกว่า SquirrelFish EX ได้


onedd.net

By: demon69gt
demon69gt's blog
on 20/09/08 14:31 #65504 Reply to:65502 toggle
demon69gt's picture

เห็นด้วย

ตอนนี้ลืม ie ไปแล้ว ถ้าไม่เหตุสุดวิสัยจริงๆ จะไม่แตะเลย

By: willwill
ContributorAndroidUbuntu
willwill's blog
on 20/09/08 14:31 #65503 toggle
willwill's picture

http://www.satine.org/archives/2008/09/19/squirrelfish-extreme-fastest-javascript-engine-yet/#comment-10110

Who cares for JS speed as long as the browser can be crashed by Flash content.

By: loptar
loptar's blog
on 20/09/08 19:14 #65518 Reply to:65503 toggle
loptar's picture

+10


loptar

By: lew
FounderAndroidSymbian
lew's blog
on 20/09/08 20:14 #65522 Reply to:65503 toggle
lew's picture

ปัญหาใหญ่ตอนนี้คือ Canvas ไม่เกิดซักที

LewCPE


LewCPE's Google+

By: hereblur
hereblur's blog
on 20/09/08 21:31 #65531 Reply to:65503 toggle
hereblur's picture

+10

By: sugree
FounderWriterAndroidBlackberry
sugree's blog
on 20/09/08 15:52 #65508 toggle
sugree's picture

IE บอกว่า

ช้าๆ ได้พร้าเล่มงาม

Opera บอกว่า

หัวเราะทีหลังดังกว่า

By: dafty
AndroidWindows
dafty's blog
on 20/09/08 18:58 #65517 Reply to:65508 toggle
dafty's picture

+1 ^^

By: wildseed
wildseed's blog
on 20/09/08 16:40 #65510 toggle
wildseed's picture

ไม่รู้ว่าจะทัน Safari 4 รึป่าว เห็นออกเป็น Developer Preview แล้ว

By: MrWhisper
ContributorWindows PhoneSymbianWindows
MrWhisper's blog
on 20/09/08 17:42 #65512 toggle
MrWhisper's picture

ส่วนตัวยังชื่นชอบโอเปร่าอยู่ - -"

WhisperForum : หันมาใช้ Freeware และ Opensource กันดีกว่า!


[ JIRAYU.IN.TH ]

By: polaromonas
ContributorWindows PhoneUbuntuWindows
polaromonas's blog
on 20/09/08 18:55 #65516 Reply to:65512 toggle
polaromonas's picture

แม่นเล้ย

หวังว่า Opera 10 จะปรับปรุงเรื่องนี้เหมือนกัน


My blog

By: adamy
iPhoneAndroidBlackberryUbuntu
adamy's blog
on 20/09/08 18:15 #65514 toggle
adamy's picture

โลโก้ดูฮาดีครับ

ขอบคุณครับ สวัสดีครับ

:: Take minimum, Give Maximum ::


:: Take minimum, Give Maximum ::

By: gudgee
AndroidWindows
gudgee's blog
on 20/09/08 18:29 #65515 toggle
gudgee's picture

โลโก้ หัวหมา หางปลา รึเปล่าครับ :D

JavaScript Engine แข่งกันสนุกสนาน งานนี้ google ยิ้มอย่างเดียว

By: wiennat
Writer
wiennat's blog
on 20/09/08 20:04 #65521 Reply to:65515 toggle
wiennat's picture

ถูก!!!

ผมก็คิดงี้นะ แต่ไม่กล้าเขียนแฮะ ไม่รู้ว่าเพราะอะไร


onedd.net

By: loptar
loptar's blog
on 20/09/08 19:14 #65519 toggle
loptar's picture

โลโก้ดูตลกดี ปลากระรอกติงต๊อง :-)


loptar

By: heha
Android
heha's blog
on 20/09/08 20:58 #65525 toggle
heha's picture

โลโก้คิดจะใช้อันนั้นจริงๆ เหรอ - -"

My Blog -> http://paiboonpa.wordpress.com


My Blog -> http://paiboonpa.wordpress.com

By: cblue
cblue's blog
on 20/09/08 21:04 #65526 toggle
cblue's picture

รู้จักไม่ครบทั้ง 4 เทคนิคครับ

  • Bytecode optimisation คือการจัดเรียงเซตของ instruction ให้สามารถแทนที่ได้ด้วยเซตของ instruction อื่นที่ถูกกว่าเร็วกว่า แต่เท่าที่อ่าน ดูเหมือนว่าจะมีการออกแบบ bytecode ใหม่ ๆ เพิ่มเข้าไปด้วย เพื่อให้ได้ประสิทธิภาพดีขึ้นไปอีก

  • Polymorphic inline cache (PIC) คือการ cache การเรียกใช้ method แต่ว่าใช้ type ของ parameter เพิ่มในการค้นหา cache ด้วย อันนี้เป็นเทคนิคที่ใช้กันกว้างขวางใน dynamic language

  • Context Threading ยังไม่รู้ว่ามันคืออะไร แต่มี paper อ้างอิงอยู่บนหน้าของ Webkit ครับ ต้องเอามาอ่านในทันที

  • Regular Expression JIT ก็ไม่มีอะไีร แค่การ compile RE ให้เป็น native code ก่อนที่จะรัน(แทนที่จะ interpret) ดูแล้วไม่น่าเกียวกับ JavaScript ซักเท่าไหร่ แต่มันก็ทำให้การใช้ RE เร็วขึ้นแน่นอน

พูดกันตรง ๆ แล้วทีม Webkit ไม่ได้ทำอะไรใหม่ คือเอาเทคนิคที่มีอยู่แล้วมา implement ผมว่า Tracemonkey ดูมีภาษีกว่าในแง่ innovation ที่อาจจะทำให้เร็วได้อีก(มาก)

By: Jedt3D
iPhoneWindows PhoneAndroidUbuntu
Jedt3D's blog
on 20/09/08 21:41 #65534 toggle
Jedt3D's picture

จริงๆ ก็ดีหมดแล้วครับ แต่เสียวที่... - จะเข้ากันขนาดไหนน้อ... - แยกค่ายกันแบบนี้จะกลายเป็นปัญหาเสียมากกว่าหรือไม่ในบางฟีเจอร์ - ชอบทาง squirrelfish ยกเว้นโลโก้... ยกนี้เห็นเอาพวก "ลูกครึ่ง" มาแข่งกัน..

-- Flex | Java | REALBasic --


-- Ruby, Sinatra, Rails, Java, ASP.NET MVC, NoSQL, Real Studio --

By: tekkasit
ContributorAndroidWindows
tekkasit's blog
on 21/09/08 6:59 #65576 Reply to:65534 toggle
tekkasit's picture

ผมว่าไม่น่าจะมีปัญหาเท่าไร เพราะวิธีการที่เค้าอธิบายกันเป็นกระบวนการหลังฉากมากกว่า ว่าทำอย่างไรให้เร็วและมีประสิทธิภาพมากที่สุด

By: mk
FounderAndroidRed HatWindows
mk's blog
on 21/09/08 13:05 #65592 Reply to:65534 toggle
mk's picture

JavaScript มีมาตรฐาน ECMAScript อยู่น่ะครับ มันก็มีความเข้ากันในระดับหนึ่ง แต่เวอร์ชันใหม่ๆ บางอันอย่างของ Mozilla ที่มีส่วนขยายของตัวเอง (ที่เรียกเป็นเวอร์ชัน 1.6, 1.7 อะไรแบบนั้น) ก็มีแต่ SpiderMonkey/TraceMonkey ตัวเดียวที่สนับสนุน

By: ipats
ContributorWindows PhoneAndroidExteen Official
ipats's blog
on 20/09/08 21:57 #65540 toggle
ipats's picture

อนาคตเราอาจได้เห็นคนโม Firefox V8 Edition หรือไม่ก็ ChromeMonkey

iPAtS


iPAtS

By: LawrenceX
LawrenceX's blog
on 20/09/08 22:54 #65546 toggle
LawrenceX's picture

โลโก้ ได้ใจมากครับ

By: wiennat
Writer
wiennat's blog
on 21/09/08 9:57 #65582 toggle
wiennat's picture

ต่อไปคงมีแบบ onmibrowser เลือก rendering engine กับ javascript engine ได้ เช่นเลือกใช้ renderer เป็น gecko แล้วใช้ js เป็น V8

หรือไม่ก็เอา webkit ไปจับคู่กับ TraceMonkey


onedd.net

By: oakyman
ContributorAndroid
oakyman's blog
on 22/09/08 2:11 #65629 toggle
oakyman's picture

Opera เป็นลูกเมียน้อยอยู่แล้ว ไม่มีใครสนใจหรอก (ฮือๆ)

Oakyman.com


Oakyman.com