Revamped WebKit JavaScript Engine Doubles In Speed
Shin-LaC writes "In a post on their official blog, WebKit developers introduced the 'next generation' of their JavaScript engine, SquirrelFish Extreme, claimed to be twice as fast as its predecessor. The post lists several changes contributing to the performance improvements, including 'bytecode optimization,' a 'polymorphic inline cache' (which sounds similar to V8's 'hidden class transitions'), and a 'context threaded JIT' compiler which generates native code (currently only for x86 processors), and is also applied to regular expressions. The new JavaScript engine is already available in the latest WebKit nightly builds. According to comparative benchmarks, the new engine is around 35% faster than the V8 engine recently introduced in Google Chrome, and 55% faster than Mozilla's TraceMonkey."
I know you're just trolling, but Javascript is actually getting fun to program in for recreational purposes. It reminds me of assembly programming back in the day, at least that's where its development seems to be in terms of a programming language. It's actually fun to hack, and you can already do some nifty things like pseudo-threading using its window.setTimeout() function and some clever programming. The fact that the engines are getting more powerful just makes it more fun and likely to pay off.
I remember when C/C++/ASM programming was fun to hack, until the age of monolithic libraries like MFC and OWL (and now things like the JDK and .Net) came and ruined that fun by restricting your freedom. If there's one thing that will make me buy into the whole browser-as-OS thing, it's an efficient, bare-bones and flexible Javascript implementation, kind of like programming in C for your browser.
An old-timer with old-timey ideas.
You know, 5 years ago, if somebody had asked me about Javascript, I would have told them that it was a dying technology. At the time, it seemed that it was only used for pop-ups and advertisements. Back then, I had it turned off in all of my browsers. Now, we rate browsers based on their Javascript performance... amazing.
I have Opera 9.5 and FF 3 on my Ubuntu system. There is a noticeable difference in rendering speeds for JS medium-heavy websites between them, Opera being slower. Now, I had no idea of Opera's relative speed when I noticed this. So I tested them with Sunspider and surely enough there was a good gap between both, with FF 3 being much faster in benchmarks.
NB: I'm not being anti Opera. Opera is awesome, even though it's not my primary browser. I'm just saying you can notice the difference in slower JS engines.
Not to mention the cup of coffee with the alt tag "Java" representing a javascript story.
Reviewing just the first hour of video games.
If anyone has clout and interest in this, it'd be Google. I'm sick of responding to dialog boxes from cookie setting, noScript, etc.
Simple answer. Stop being so paranoid. Just allow all first-party cookies, have a decent /etc/hosts file that blocks ads and use Linux/OS X/Any OS other than Windows and you are basically safe from any major malware outbreak. I've tried noScript and found it to be more of a pain then it was worth. Sure, it might make you less secure, but honestly, I run Linux and even though it is possible to hack a Linux box, most script kiddies won't bother.
.01% of the internet that doesn't just accept scripts and cookies.
Google doesn't care about you, the
Taxation is legalized theft, no more, no less.
Chrome/V8 is faster than Firefox/Tracemonkey. WebKit/SquirrelFish Extreme is faster than Chrome/V8. Firefox/Tracemonkey is faster than Chrome/V8. And around we go, always twirling, twirling, twirling towards freedom.
I know this is going to be labeled troll,but frankly I don't care. Why is everybody tripping over themselves trying to make faster and faster JavaScript,when the security sucks? I have been able to cut down my customers infections by a good 80% just by installing Noscript and teaching them how to use it. Every day we see more and more JavaScript exploits out in the wild,and yet the only thing anyone seems to be concerned with is speed? JavaScript is getting as bad as ActiveX was in its heyday,and Noscript and sandboxing is really only adding a bandaid to the bleeding wound.
We need to look at how JavaScript is used on the web and find new ways to lock it down and make it more secure. If we don't,mark my words,it will be talked about in 5 years just like ActiveX. Sounded like a good idea at the time,and then the malware ruined it for everybody. But as always this is my 02c,YMMV
ACs don't waste your time replying, your posts are never seen by me.
Are you running the standard Firefox nightlies? Or the actual branch active tracemonkey development is happening on?
See my other post on this article about measurement bias if one measures right after landing big changes. ;)
OK, I know you're going to call me a fanboy, but you really need to try Cocoa. MFC is miserable not because it's monolithic, but because it's designed in a way that makes everything miserable. .Net is a little better, but still not fun.
Cocoa (really NextStep) makes it easy to take control of whatever part you want: it is logically organized and easy to customize any part. Do you want to make a window that covers the whole screen transparently, then lets you draw on it? Simple, and it's programmatically the same as drawing anywhere else. Do you want to flip your window and do all kinds of weird effects? It is amazing how easy it is. Cocoa gives you the feeling of complete control again. And it is fun.
Qxe4
It's been possible to run JavaScript on a JVM for some time now (based on Mozilla's Rhino). Does anybody have any numbers as to how these recent in-browse JavaScript optimisations stack up against 10+ years of Sun work on general virtual machine optimisation? Could it be faster just to fire up the Sun JVM and use that as the JavaScript engine?
It's actually fun to hack, and you can already do some nifty things like pseudo-threading using its window.setTimeout() function and some clever programming.
I had to do this, because JavaScript is single-threaded.
A Java applet I need to support kept trying to make a JavaScript call to the browser, and kept failing, which crashes a background timer I had implemented in JavaScript. I had to "restart" JavaScript using a mouseover event and use threading to keep it from using up all the CPU time. It was such a stupid hack, but it worked.
I eventually figured out the function name the applet kept calling and was able to shut it up. It still boggles me that any JavaScript from anywhere, such as from an ad, can crash the language and leave you with no JavaScript support at all. It's very hard to count on a language when browsers implement is so badly, especially when you have no choice but to support really old software that keeps doing bad things that upset newer, stricter versions of a scripting language.
Now, does this WebKit update fix the JavaScript threading issue? Then I'll be impressed.
That's great, you spent lots of time in school. Now how much real-world, business driven application development experience do you actually have?
When I finally went back and finished by BS in CS (just so I could get promoted--glass ceilings and all), one of my last classes was in search engines. 22 people in the class, 3 undergrads (me and two others) the recent masters program students.
The other 2 undergrads dropped out leaving me the only undergrad. When we had to deliver a search engine (built over a corpus of medical documents) I was the only student to have a finished working one. I had to explain to a number of the masters students how to open a stream in C++ and read in the words one at a time.
Not one other student delivered a fully working piece of code, a point the professor (head of graduate studies) commented on.
Now granted, I have over 25 years experience in software development, but you'd think that students in masters or Ph.D. programs could at least write code that can read data from a file.
So, just because you have a Ph.D. in CS doesn't buy you any brownie points. I've noticed a large number of postings to various forums I monitor from folks saying things like "I'm a Ph.D. candidate and working on a thesis around the topic you are explaining. Mind if I ask you some questions?"
Ph.D.'s today don't mean what they used to mean. Use that Ph.D. to deliver some real innovations to the CS world then I'll be impressed.
Just an aside, even though the Grad Studies head asked me to consider returning to work on a graduate degree (and the head of the CS department asked me to come back and teach Java courses) I decided to pursue an MBA instead. I already know the CS work, and the MBA work is allowing me to understand the business side of my job better.
Do any of the engines mentioned in these postings offer a clean way of using JavaScript as a standalone engine for non-browser applications?
I don't want a Java based one (don't want the JVM). I'm trying to compile V8 alone but the code has issues right now if you don't use VC++. I've tried SpiderMonkey in the past but that code is just difficult to follow.
Interestingly under windows the WSH (Windows Scripting Host) can work with either JavaScript of VB script. The engine allows the JavaScript code to access many of the Windows objects.
I'd like to see a JavaScript engine with pluggable modules (sort of like TCL) and possibly a nice accessible GUI (like TK).
Any suggestions on which engine is best to use as the standalone interpreter with the easiest extensibility?