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."
One of the things we've seen in the past few releases of any browser is that new features seem to increase the already monumental footprint of current web browsers. As far as I've seen, JIT compilers use a whole freaking lot of memory. While I suppose this is acceptable for the whole "Web 2.0 means the web is the only useful thing on your PC!" crowd, I'd like to have a few (3 or 4)browser tabs open while I'm playing a game, for example, without the browser killing my gaming experience.
Please help me pay for room & board.
This is a wonderful example of what happens when there are open standards and healthy competition! The consumer is the winner!
My other account has a 3-digit UID.
I really am loving this JS engine war; I don't program JavaScript, and know nothing about JIT, but having read more than my fair share of compiler optimization and analysis papers, it's really good to see that compiler tech and research is alive and kicking.
He who controls the test suite, controls the outcome.
Have a webapp that uses Extjs, and does some pretty hefty DOM manipulation. A small test on it just now, and firefox 3 still smokes the latest webkit on it by a very wide margin.
The LGPL and BSD licenses are "free as in beer" now?
My other account has a 3-digit UID.
I had a feeling someone would use this as a JavaScript-bashing opportunity. After all, JavaScript is the world's most misunderstood programming language.
I never quite got how its a wonderful thing when Apple and Google cross-subsidize free-as-in-beer Internet browsers but when They Who Must Not Be Named do the same thing its evil, monopolistic, anti-consumer behavior.
I can understand thinking it's not evil or anti-consumer... but c'mon - monopolistic? It's the very definition! A monopoly isn't illegal - using it to gain an advantage somewhere else is. Apple, with their pathetic little market share is not even close to a monopoly. Even their iPod is only like 70% of the market. Google has a near-monopoly on search - but how they are using that to gain an advantage via a web browser is pretty questionable. It's not like you have to use their browser to search or something - they don't even promote it on their home page.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
it seemed that it was only used for pop-ups and advertisements.
No, no... it was also used to invade your privacy.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
For the next generation webapps that web developers haven't been able to write because JavaScript has been too slow until recently.
What a fool believes, he sees, no wise man has the power to reason away.
You know what I can't believe? I can't believe this crap got modded up. Talk about a disingenuous argument if I ever saw one.
Call me when:
If Microsoft did even HALF of that you could act all high and mighty. But from where I stand, you're just another Microsoft shill. Be gone!!!
Javascript + Nintendo DSi = DSiCade
History lesson for people tempted to fall for this troll:
Once upon a time, people sold browsers just like they sold any other piece of software. Netscape were making money licensing their browser for corporate environments. The web, and consequently its leader, Netscape, threatened Microsoft's desktop monopoly. So Microsoft used all the cash they had from selling desktop operating systems, bought a web browser (defrauding that company in the process) and spent lots of money developing it further. Then they gave it away for free, at a massive loss to themselves, to "cut off Netscape's air supply". Still, that wasn't enough to unseat Netscape, so Microsoft went further and bundled it into their operating system too. Now all of a sudden 95% of the people on the planet had Microsoft's browser whether they liked it or not - and Netscape were basically dead.
Microsoft were able to eliminate the competition not because they offered a better product, but because they had a dominant position in another market and were willing to dump their product on the market no matter the cost, to put another company out of business. This is not how capitalism is supposed to work. The free market cannot deal with this situation well. The invisible hand is tied behind its invisible back. So in many countries, abusing a monopoly position in this way is illegal. And that's why Microsoft is vilified here - because they acted like bullies, took something dear to geeks, and shat all over it to make money.
Now that browsers are a commodity, how are Apple and Google harming the browser market with anticompetitive actions? Answer - they aren't. They are actually competing by providing better products. And that's why it's completely different to what Microsoft did.
Bogtha Bogtha Bogtha
Replace Google with any standards-supporting, partially open source vendor and you have the current market situation. Heck, if WebKit manages to somehow run JavaScript at twice the speed of assembly programs, Mozilla can still take that code and make Gecko's JavaScript engine just as fast. If Red Hat releases a tool that can run all Windows applications at full speed on Linux, Novell and Canonical don't lose out, they gain too, in that example even the WINE and ReactOS team could gain something. It is only the proprietary vendors that lose whenever the competition gets a new feature. Only IE and Opera that can't tap into these new JavaScript engines. It helps every open source browser project, from Firefox to Konqueror, to Chrome, to even Safari. It is only the few that remain closed that this will hurt.
Taxation is legalized theft, no more, no less.
That's a very good...pile of FUD right there.
Lets see here, you're pretty much saying that if you use Linux, you'll simply KNOW when something is up with your system, but if you use windows, you wont because you'll think it's just some sort of update Microsoft is pushing on you? What about the average Mac user, do you honestly think they're "Technically-inclined" when the entire marketing campaign Apple uses can be summed up as "Buy a Mac - because it'll make you cool"? Or what about all those people who just bought an Eee PC (or similar) because they're affordable and all the rage? Will they suddenly become experts overnight and know the ins/outs of linux, at least enough to know when it's doing something it's not supposed to?
Besides, when was the last time you seen Windows Update automatically install a new toolbar or whatever? The only thing I can think of in recent memory was the new Live search thing and I'm sure that was an OPTIONAL download anyway (and anyone that just ticks all the boxes and downloads anything they see without reading about what they're getting is just asking for trouble). Even IE7 is optional. Everything else is just security/program updates, with the exception of the odd service pack (which is what, once every 2 years?).
Plus, it's not like modern Linux distributions don't have their own update programs within them, particularly those designed for the novice user. How are they going to know that their fancy new toolbar isn't just something linux has?
Your advice to the above poster is possibly the worst advice you could ever give anyone - "Use this OS and you'll be safe!". That's a load of bull, it just takes one person to make a virus and/or Trojan targeting that OS and your complacency will be taken complete advantage of because "you're running linux - YOU'RE SAFE!". The best way to ensure your system doesn't get compromised is to be careful and vigilant, which is exactly what the OP is, then even the "few" script kiddies that actually do target you will be hard pushed to hax0r your b0x0r.
Yes, it's a minor inconvenience, but it's the ONLY way to be absolutely sure you're safe. And yes, this even works on WINDOWS boxes. Shocking, I know.
I hate defending Microsoft, but I hate it even more when people bash them for all the wrong reasons, or use feeble excuses - at least have a go at them for something genuine, it's not like you haven't got much to pick at them with.
+1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
This is not how capitalism is supposed to work. The free market cannot deal with this situation well.
The free market has been dealing with it, and is slowly cutting Microsoft browser marketshare down to a size where they too must adhere to standards.
I don't see why everyone thinks a free market MUST fix everything instantly. It's all about the long term. Even when a company like Microsoft becomes dominant, you can see that over time they simply become irrelevant and other companies can eventually wear them down.
And of course, it's not like we have a completely open market anyway - there's a lot of regulation going on in our "free" market.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Your advice to the above poster is possibly the worst advice you could ever give anyone - "Use this OS and you'll be safe!". That's a load of bull, it just takes one person to make a virus and/or Trojan targeting that OS and your complacency will be taken complete advantage of because "you're running linux - YOU'RE SAFE!".
Hmmm... right, and wrong.
You (and also the GP poster) have fallen for the "Linux isn't hacked because it's not the majority" straw-man. Linux is much harder to hack because it provides a much better security than Windows. For starters, you can run your software as non-root! And for any installation you actually have to provide a password. Compared to the Vista "Cancel, Allow" prompts, this is much better, because people unconsciously hit allow because they get trained (by Vista) to do that. Also, GNU/Linux does not have unknown services enabled by default.
Also, when the GP says that Linux users know something's wrong because they have an extra toolbar, he's right. If I have an extra toolbar on Firefox that I didn't install, i'm not just in trouble. I'm in DEEP trouble and I can almost guarantee that someone pwned my PC (or at least my user account). This is a question of knowledge, granted, but Windows users who have NO IDEA of what's going on inside their OS, just say "oh well, I'll just have to get accustomed to it". And the worst part: they DO get accustomed to it! It's like the battered wife syndrome, but with viruses.
Also, Microsoft products are prone to have security holes because their software is not open source (many eyes make bugs shallow). Open Source software gets updated almost the day after when a vulnerability is discovered.
Finally, MS products are also prone to have security holes because since the old MS Word days they keep mixing data with code. First there were the Word Viruses, then the Excel Viruses, then the e-mail viruses, and thanks to ActiveX, webpage viruses. And if that wasn't enough, we got WMV viruses, MP3 viruses (which are possible thanks to stupid security policies like not warning you when the filetype is actually different than the extension reported), and don't get me started with autorun.inf viruses in USB drives.
They never learn!
So, yes, GNU/Linux is more secure per-se than Microsoft Windows. That's a FACT. And yes, it's also more secure because GNU/Linux users are more careful.
Nevertheless, Javascript implementations suck pretty hard and that is why all of the various groups are able to show such huge performance improvements.
If the license is permissive (like the MIT license), Opera and IE can incorporate the new code just as easily as open-source browsers can. If the license if open-source but not especially permissive (like the GPL), Opera and IE can't use it, but neither can many other open-source projects.
As it happens, V8 is BSD, Tracemonkey is LGPL+MPL+GPL, and SquirrelFish is LGPL+BSD. I believe BSD and MPL are both permissive enough for use in Opera and IE.
The shareholder is always right.
Bullshit.
> gave it away for free, at a massive loss to themselves,
Microsoft had Spyglass write IE for them and the deal was that Spyglass would get $5.00 for every copy that MS sold. MS then gave it away and thus nothing was ever paid to Spyglass.
There was certainly no "loss to themselves".
They did also pay various OEMs $5.00 a time to _not_ install Netscape. Or specifically it was a $5.00 discount on the price of Windows if Netscape was not installed, so that was a cost to MS.
The former was immoral, the latter was probably illegal.
Bingo. What it comes down to is that the answer to "Is X faster than Y" will depend on two things:
1) The benchmark
2) The day of the week (or the exact, to the minute builds you're testing, if you prefer)
The reason for the latter is that all three are in active development. Each one is doing measurements right after landing major changes, against whatever the current state of the other two is. That means that there is inherent bias there in favor of whoever is doing the measurements being fastest: they've just hopped a step up in performance while the other two engines are on the same step they were at 3 minutes ago.
The same thing will happen with stable releases, for what it's worth. Safari 3 shipped a faster JS engine than Firefox 2. Then Firefox 3 shipped faster than Safari 3. We'll see what the ship dates for Safari 4 and Firefox 3.1 or whatever look like, but I suspect tat if things continue as they are each will be the fastest shipping stable thing at ship time.
Which is more or less what you said, I guess. ;)
How do libraries and application frameworks restrict your freedom? Your boss makes you use them? Sorry, I don't follow your argument at all. If you want to write your own socket library, regular expressions library, and logging framework, go ahead and do it. Nobody's stopping you.
If modern amenities have made you bored with programming, I suggest attacking a problem domain that hasn't yet been made trivially easy. Get a four-core box and convert a single-threaded application into one that uses all four cores efficiently. That's something that Java and .NET won't solve for you. Whenever one problem is rendered trivial by Moore's law or by some helpful library author, there is always a bigger problem to tackle.
OK, I know you're going to call me an old curmudgeon, but where can I run your Cocoa code? Pretty much all the customers in my market use Windows, but might be open to Linux. And we're all focused more heavily on servers too. New Apple hardware is going to be a tough sell too.
At least with javascript, I can expect a universal, albeit lowest-common-denominator client-base.
Please mod parent up, it's true, this is bullshit! Monolithic libraries in C++ restrict your freedom? How in the world do you get to that conclusion? FYI, almost nobody uses MFC, and if it bogs you down, well duhhh... don't use it! C++ is almost exactly the way it used to be, the language hasn't changed at all. You can still do everything by hand like you used to if that's what you want. The "monolithic" libraries you speak of tend to help the rest of us get things done and I for one, welcome a more diverse selection of these.
You don't think enough... therefore you better not be!
JavaScript in Firefox is (almost?) never the source of security problems in the real world. If Noscript stops something is only because an exploit in another component also uses JavaScript (and often only because the person writing the exploit code was lazy).
Try disabling Java and deinstalling Flash and all the plugins (or at least using Flashblock) and Adblock Plus+Easylist. You will achieve exactly the same results.
I'm a web developer and I'm asking to please don't disable JavaScript. It's not a security problem per-se if you keep your browser updated and in fact makes the web *less* safe because encourages legitimate web developers to use much worse alternatives, like Flash.
There's a hidden treasure in Python 3.x: __prepare__()