Revamped WebKit JavaScript Engine Doubles In Speed 270
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."
Bar graphs... (Score:5, Funny)
Re: (Score:2, Funny)
It is not the length that counts but the girth!
The E-Penis Measure (Score:5, Funny)
By using Chrome as your preferred browser, your E-Penis will increase by a whopping 74% [somethingawful.com].
Re: (Score:2)
Isn't less more?
Or is more the new less?
Or Les the Nessman?
This junction is PN complete.
Re: (Score:2, Funny)
You wish, first you gotta by me dinner! Sauteed SquirrelFish sounds appropriate.
Re:Bar graphs... (Score:4, Funny)
That's great! (Score:2, Funny)
The next revision of SquirrelFish, said to make Javascript not suck anymore, is due to be released in 2048.
Re:That's great! (Score:5, Interesting)
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.
Re: (Score:3, Insightful)
Bullshit.
Re:That's great! (Score:5, Insightful)
Re: (Score:3, Interesting)
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 programmaticall
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Cocoa is an implementation of the OpenStep APIs. GNUstep is another implementation and runs on Windows. In Ãtoilé svn we have a theme engine for GNUstep (Camaelon), although there is not yet a native Windows theme. If you're targeting GNUstep, you aren't limited to Objective-C either - I have written a native compiler for Smalltalk which produces equivalent code to Objective-C for operations which are not heavy on arithmetic (currently much slower for arithmetic, but if you're doing a lot
Re:That's great! (Score:5, Insightful)
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.
Re: (Score:3, Interesting)
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 Java
Re:That's great! (Score:5, Informative)
JavaScript isn't single-threaded.
Only one JavaScript thread is used by firefox (and maybe other browsers -- I don't know).
In fact, spidermonkey is thread-safe and you can run multiple JavaScript threads outside the confines of the browser. In fact, I have written a class for spidermonkey which lets you create real OS threads running JavaScript functions.
> 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
Out of curiosity, how many programming languages do you know that will let you keep executing code once a syntax error has been reached, or an exception has been thrown but not caught?
The problem here isn't language design, it's poor programming. And try..catch block will work wonders around other-peoples-crappy-code.
> 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.
Aside from function.arguments and === in JavaScript 1.2, I'm having a hard time thinking of a JavaScript language change which was broke backwards compatibility. That includes IE. Although it would be nice if IE would fix their stupid [1,2,3,].length bug.
Re:That's great! (Score:4, Insightful)
I had a feeling someone would use this as a JavaScript-bashing opportunity. After all, JavaScript is the world's most misunderstood programming language [crockford.com].
Re: (Score:2, Funny)
Tracemonkey is slower than V8? (Score:5, Informative)
Excuse me, but I think that Tracemonkey is actually faster than V8 [mozillazine.org]. Has Tracemonkey really fallen that far behind in two weeks?
Re: (Score:3, Insightful)
Re:Tracemonkey is slower than V8?, controls the ou (Score:2)
He who controls the test suite
Err, Google doesn't control or own the test suite. I wasn't talking about Apple either.
Re:Tracemonkey is slower than V8? (Score:5, Informative)
Excuse me, but I think that Tracemonkey is actually faster than V8 [mozillazine.org]. Has Tracemonkey really fallen that far behind in two weeks?
Yes. On XP (that's the best case), Tracemonkey takes 1.340 seconds to do a Sunspider run, which equals to 32.6 Sunspider rus per minute. And Squirrelfish Extreme does 63.6 Sunspider runs per minute. That makes Squirrelfish Extreme 1.95 times faster than Tracemonkey.
Time for Mozilla to catch up again. In any case, the winner is... the public! (the engines won't get any slower)
Re:Tracemonkey is slower than V8? (Score:5, Funny)
(the engines won't get any slower)
Clearly you haven't seen the plans for IE9.
Re: (Score:3, Funny)
Re: (Score:3, Interesting)
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. ;)
Faster = more memory? (Score:2, Insightful)
Re:Faster = more memory? (Score:5, Insightful)
No, I will not get off your lawn. Space/speed is a tradeoff. At the moment, we have even bottom of the barrel desktops selling with large amounts of memory. With the eventual rise of 64 bit, expect the amounts to go up even more. There's no reason to avoid taking advantage of this. What's the point of having this huge (seriously, look at the memory difference from now and 10 years ago) amount of memory to just let it sit there, save the occasional multimedia editing task?
As for your game, it seems to be using quite a huge chunk of memory as well. You know, one of the things we've seen in the past few releases of any modern 3D game is that new features seem to increase the already monumental footprint of current games. And hell, I'm using my browser at least 10 times longer a day than I'm playing a game. I want my browser to be snappy, I don't mind not visiting Super Ultra JS Web App 3.6 if I'm going to be playing a resource intensive game. In fact, I probably wouldn't be using my browser at all anyway.
But that last paragraph is just my personal experience, YMMV
Re: (Score:3, Interesting)
Re: (Score:2)
Re:Faster = more memory? (Score:5, Insightful)
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?
Those aren't javascript exploits, they're security issues in other parts of the code that are easiest to trigger via javascript, and that you will resolve with proper sandboxing, which all browser makers are working on. Exploits in pure javascript are pretty rare.
I think we're talking about a trade-off between usefulness and security anyway. Disabling javascript to gain security is a bit like putting foam on the end of a hammer to avoid hurting your thumb. It sort of misses the point.
Don't use Noscript! (Score:3, Insightful)
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 secur
Re:Faster = more memory? (Score:5, Informative)
Re:Faster = more memory? (Score:4, Funny)
And they have plans to run Firefox 5.x in a Commodore 64.
Re:Faster = more memory? (Score:4, Funny)
And they have plans to run Firefox 5.x in a Commodore 64.
Must be scope creep - the original spec was for the timex - sinclair z1000
Re:Faster = more memory? (Score:5, Insightful)
Re: (Score:3, Funny)
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.
It's somewhat mitigated by the appropriation of other tasks. For instance, in 1994 I'd run a copy of Eudora, a copy of Netscape, and a copy of a word processor on my Centris 650 with 8MB or RAM. But now, I can do all of these things in my web browser - so it's okay if it takes a little bit more RAM. And to think that people decried Netscape Suite for taking on too much!
Here, let me fire up my Activity Monitor app and see what Firefox is... SWEET JESUS! 366 MB!!! OH MY FUCKING GOD, WHAT HAVE WE BECOME???
Re: (Score:2, Troll)
Competition (Score:4, Insightful)
This is a wonderful example of what happens when there are open standards and healthy competition! The consumer is the winner!
Re:Competition (Score:5, Funny)
This is a wonderful example of what happens when there are open standards and healthy competition! The consumer is the winner!
Is that why /. "consumers" mostly use NoScript?
Malware: Now 35% faster.
Re:Competition (Score:5, Insightful)
Re:Competition (Score:5, Insightful)
Re:Competition (Score:5, Insightful)
Exactly NoScript doesn't really mean No-Scripts, it means No-Scripts-I-Don't-Explicitly-Allow. Just because I don't want anyone with a website to be able to run whatever they want on my box, doesn't mean that I don't ever use JS.
Re: (Score:2, Insightful)
I hear even Microsoft is getting into the game with IE8, supposedly the script engine on that one is much faster than the IE6/7 one, almost on par with FF2.x.
Long gone are the days of stagnation. Competition is good, let's embrace it and be happy about it instead of complaining (as some people seem to be doing here) about the memory footprint and whatnot.
Maybe soon the browser will become a viable platform for application delivery, which Netscape promised us back in the early 90s.
Re: (Score:3, Insightful)
The LGPL and BSD licenses are "free as in beer" now?
Re: (Score:2)
Re:Open standards, healthy competition, free softw (Score:4, Insightful)
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.
Q! (Score:5, Insightful)
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!!!
Re:Open standards, healthy competition, free softw (Score:5, Insightful)
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.
Re: (Score:2)
An excellent post, sir. I salute you. Mod parent up.
Re: (Score:2)
I second that. You've just been added to my friends list.
The invisible hand is working just fine (Score:2, Insightful)
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 the
Re: (Score:2)
"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"
And now we have free and even open source browsers as well! Thank y
Re:Open standards, healthy competition, free softw (Score:4, Informative)
Re: (Score:3, Insightful)
> 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 w
Apple have declared themselves evil too (Score:3, Funny)
"Fuck it," [today.com] said Steve Jobs to an audience of soul-mortgaged thralls, "we're evil. But our stuff is sooo good. You'll keep taking our abuse. You love it, you worm. Because our stuff is great. It's shiny and it works. It's not like you'll go back to a Windows Mobile phone. Ha! Ha!"
Steve Ballmer of Microsoft was incensed at the news. "Our evil is better than anyone's evil! No-one sweats the details of evil like Microsoft! Where's your antitrust trial, you polo-necked bozo? We've worked hard on our evil! Our Zu
Mmm... (Score:5, Funny)
Really interesting work (Score:3, Insightful)
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.
Re:Really interesting work (Score:5, Informative)
Yeah, except that it's JavaScript, traditionally one of the slower languages because it's objects are basically hashtables. The improvements you see are going to be mostly to fastpathing past those hashtables. This unfortunately means that the improvements you see in JavaScript are unlikely to port to other languages since those improvements are to a feature that isn't used in most other languages. (Lua and Python may be exceptions.)
Re: (Score:3, Insightful)
Yeah, except that it's JavaScript, traditionally one of the slower languages because it's objects are basically hashtables.
And php stores its variables.... how?
Re: (Score:3, Insightful)
And Perl stores its classes how?
Javascript (Score:5, Interesting)
Re:Javascript (Score:4, Insightful)
it seemed that it was only used for pop-ups and advertisements.
No, no... it was also used to invade your privacy.
Re: (Score:2)
it seemed that it was only used for pop-ups and advertisements.
No, no... it was also used to invade your privacy.
was???
Re: (Score:2)
exactly ... *was* ... **is** ... and will be able to do so even faster now. ... and the organized crime folk probably didn't even have to fork over a penny.
Re:Javascript (Score:5, Interesting)
Re:Javascript (Score:5, Interesting)
``I would go a little further than that, realizing this is difficult to swallow for many following the javascript/ajax bashing meme here on Slashdot for so long, but in their desire to snub it as something "real" software engineers wouldn't touch (or is it fear of change from an aging community?) the clear reality IMHO is that javascript is taking over the role on the client side that java was supposed to be,''
Speaking as someone who isn't entirely happy with the direction JavaScripts have taken since the invention of the term "AJAX", perhaps I can shed some light on that. I can't speak for the entire "aging community", but there are bound to be some people who agree with my opinions.
First of all, calling AJAX bashing a meme is somewhat misleading. I did not speak out against it because it was a meme, I spoke out against it because I had actual technical and philosophical objections. Some of that is emotional: I resent the hype around AJAX. It wasn't actually new; I have been doing stuff like that since 1997 or thereabouts. Where's my recognition? But, the grumpiness of an old man aside, let's look at the technical aspects.
Many modern, cool websites try to use JavaScript, HTML, CSS, and HTTP to create user interfaces that resemble those of desktop applications. These web technologies were meant to support a request-response model, where each response is essentially a static page. Using JavaScript and CSS, developers create the illusion that it isn't a static page, but a dynamic environment with windows, buttons, menus, popups, anymation, smooth transitions, interaction, etc. In other words, an environment that is nothing like how the web used to be. To support this illusion, heaps of JavaScript are piled on disfigured HTML, and HTTP requests are abused to send what should be small pieces of data to and from the server.
In the process, compatibility is thrown out of the window - don't try to view any of those pages with an unsupported browser, and don't try to analyze the page with a web spider; you will only end up with garbage. Even if you have a supported browser, you will need a pretty powerful computer to get anywhere near decent responsiveness from what are really very primitive user interfaces. This is why I have opposed the wave of AJAX websites. It's not that I don't think the things that are being built with it aren't cool. But they are being built on the wrong technology, which yields suboptimal results and, at the same time, inhibits the adoption of what would be the right technologies. I am happy to see fancy interactive applications being built on open standards, rather than on proprietary technology, but I would rather have it be built on standards that were designed for it, rather than breaking existing standards to get something that sort of works, if you have a fast computer and the right browser. And yes, I do regard any HTML that can't be usefully processed by a search engine or screen reader as broken.
All this is is nothing against JavaScript. I think JavaScript is a nice language, and I am happy to see we're finally working on creating implementations that aren't dog slow. Perhaps we can also add some useful features...for example, raw sockets, so that we don't have to occur the overhead of a full HTTP request any time we wish to communicate with another system. And perhaps we could actually standardize APIs to functionality like native widgets (how is XUL these days?) and drawing functions (something like Cairo, perhaps?). Then we would have a platform that is actually good for interactive applications. Throw in some support for libraries (with caching and versioning) so that not everything needs to be reloaded all the time, and it's starting to look like a very workable solution.
You see, I am not opposed to change ... I am opposed to changing in a direction we know isn't very good, when we know how to make it better.
Re:Javascript (Score:4, Interesting)
In the process, compatibility is thrown out of the window - don't try to view any of those pages with an unsupported browser, and don't try to analyze the page with a web spider; you will only end up with garbage. Even if you have a supported browser, you will need a pretty powerful computer to get anywhere near decent responsiveness from what are really very primitive user interfaces. This is why I have opposed the wave of AJAX websites.
While there's substance to most of your arguments, you -are- getting old, I'm afraid. It reminds me of times when one was flamed for using C over assembly. It reminds me of the time when I was a student and Mosaic 0.9b was released, and it was a non-event because of the above sentiment: slow, resource hungry, and in a time when it was undone to send sigs over 4 lines not regarded a good thing.
In the meantime the world will move on, javascript already got great cross-browser libraries that make sure it works from IE6 to webkit, and data exchange will be unhyped and improve over time. But no, you can no longer view it on Lynx, and the web -will- be expanded from the dom/request&response model to a dom+javascript (the natural companion) model with more sophisticated means of data exchange. It's a development the noscript-ers can forget they can stop it. It's not like accessibility is not important though, this is an area of development and research as well. Google wants to be able to index that. Also, it's not a xor situation. Google's search pages work on everything. For their apps you need javascript. It's just an extra option (sure it's abused for badly degradating bling - but the web will always be 99% pulp). On the interface site I don't expects any standards soon, but the improvements of the APIs of the big players are big from version to version.
I think you'll be surprised how good and smoothly it will work and already can work if you look for the right examples. It's easy to have formed an opinion on this stuff a while back and freeze it (especially as you can always choose and pick from millions of examples of bad implementations or use), and mine would have been roughly the same. First of all, I'm a nut for graceful degradation. And I hate those first gen web office apps, all with their scruffy custom interfaces, endless ajax loading indicators, curvy orange and cyan "look how cool I am" cliches involving the marketing term web 2.0, and in general wanabee behavior which makes you think "why? WHY on earth do it in the browser", and "oh noo, not reinvent the wheel again by taking steps backwards". Forget that. It's moving on, and soon all your objections will be as relevant as someone who says you should use assembler over C or even C over Python.
Re: (Score:3, Funny)
Oh, definitely. I deal more with people in their mid-to-late-20s who have chosen web development as a career, and are unable to write professional code, do any sort of documentation, and in some cases even think abstractly.
This comic [pengoworks.com] quite seriously is almost exactly how the code reviews I give go. I think I use the word "retarded" a lot, also, preceded by "This is the most" and followed by "thing I've ever seen."
Re: (Score:3, Interesting)
Thanks for sharing that comic. It is *so* true.
I recently took over a large body web code from another developer. In order to meet deadlines, I'm working nights and weekends (oh, man, I SO THOUGHT I'd left that behind with my 20s). Needless to say, I'm not happy. To make matters worse, I got pulled off a fun project to work on web shit. With a PHP back end.
So, anyhow.. my kid comes up to me the other day and says, "Boy... you sure swear a lot when you're working!"
And 99% of my swearing is .. you guessed it.
Re: (Score:2)
Picture of a G5 Processor? (Score:5, Informative)
Re: (Score:2)
And Bill Gates still shows up for MS stories and he's retired. Granted he's doing commercials now, but that's about it.
They're kind of iconic and nostalgic in a way. Sure it's only been a few years/weeks, but in the tech world that may as well be eons.
Besides, the editors can't even be bothered to spell check story summaries or make sure they're factual. What makes you think they'll take the time to update the story icons?
Re: (Score:3, Interesting)
Not to mention the cup of coffee with the alt tag "Java" representing a javascript story.
no, (Score:2)
"V8" is so 90s (Score:4, Funny)
Between TraceMonkey and SquirrelFish, "V8" seems so... weird. They better give it s regular, modern name like ThreadMole or SkunkAmoeba.
Amazingly, everyone is faster than everyone else (Score:4, Interesting)
Re: (Score:2)
Re: (Score:3, Insightful)
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'
Something is off (Score:2)
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.
If you remember [mozillazine.org], TraceMonkey was benched to be faster than V8, Brendan Eich said: "We win by 1.28x and 1.19x, respectively. Maybe we should rename TraceMonkey "V10" ;-)."
And now somehow Safari beats TraceMonkey by 20% more than it beats V8. Funny that.
Those benchmarks are useless.
Why not use a JVM? (Score:4, Interesting)
Re: (Score:3, Informative)
I don't know what the current state of the art is, but last I looked Rhino was still the fastest javascript implementation, IF you discounted the JVM start up.
IIRC, Rhino compiles JavaScript into native Java byte code, which then gets the JIT magic sprinkled on it by the JVM pixies.
So the quality of the Java compiler is really not all that relevant, because the code compiled by the compiler only compiles the javascript code once, making the quality of the compiler effectively order(1)... and given sufficien
As a standalone engine? (Score:3, Interesting)
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?
Re: (Score:3, Informative)
I know nothing of WebKit, so I will not speak of it.
It is currently possible to use SpiderMonkey at the level of ff3 for real work. There's a bit of a learning curve, but it's totally usable. In theory, anything you write for SpiderMonkey-trunk will be usable with the new tracing stuff they've built. That's not in CVS, it's in hg (mercurial), and I'm not sure what state it's in right now. I'm guessing it's probably usable, too. Oh, I think the tracing code also requires a C++ compiler, although I could b
i did some number-crunch tests - it's a lot faster (Score:3, Informative)
essentially an O(N^2) finding-nearest-neighbors-in-two-dimensions thing,
and here are some trials w/ 2000 points, on an x86 windows machine:
Safari 3.1.2 - ~50 seconds, maybe more
Safari 3.1.2 + Webkit - ~10 seconds
Firefox 3.0.2 - ~22 seconds
Chrome 0.2.149.30 - ~19 seconds
Sure, now with anecdotal evidence! (Score:5, Interesting)
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.
Re:Could someone please.. (Score:5, Informative)
There are very few popular sites that are too slow, because web developers do not like to make slow sites. If a web developer does make a slow site, it doesn't become popular because users are too impatient and go to faster ones.
That's really the whole point of the recent focus on JavaScript performance. Web developers want to make complex sites to support the features the users want, but they cannot because all those features make the sites too slow. Google especially wants to develop a web-based Office-killer suite. That's why they developed Chrome with a very fast JavaScript engine, minimal chrome to make web apps more like local apps, and put each tab in a separate process so you can kill those memory- and CPU-hungry sites when you need to.
Re: (Score:2)
Re: (Score:2)
Slashdot + GMail plus a compile or two on 512mb ram does the trick. ;)
Real life scenario. Thats what I'm doing right now.
Speed for the sake of speed isnt bad anyway.
I dunno about you but I like zippy computing experiences.
Re: (Score:2)
Show me an example of a website with so much javascript that it is too slow to use?
280 Slides [280slides.com]. It won't bring Mozilla to a crawl, but it is noticeably faster on Chrome. IE is almost unusable.
I'm actually excited about sites like this - web apps could really go somewhere if they were all this feature-rich.
Re: (Score:2)
Yeah, Slashdot [slashdot.org]
- Try viewing a story with 500 comments!
I was gonna mention Digg, but your example really made me laugh. But yes, Digg is a royal pain in the ***, specially when you hit "expand all". Sheesh... I've had to close Firefox more than once because the digg comments take AGES to load. So, DanWS6, there's your example of a painfully slow javascript-based website.
Re:Speed of JS engine matters why? (Score:5, Insightful)
Re: (Score:2)
This whole "who's fastest" is just like the chip wars. No real user understands this jive.
No, but this means that marketshare for IE will almost certainly go down and that is only a good thing. It also means that Firefox marketshare will go down which is also a good thing because competition always helps in open source projects and Firefox can't just be the only F/OSS browser that renders pages decently.
Worse, just like the CPU, the speed of the JS engine is usually not the limiting factor in the User Experience. Design, Function, Server Response, Ad Calls... those all typically are what retard the user experience.
Sure it isn't the limiting factor, but if it makes interactive web applications run faster it can help pave the way for the end of annoying Flash navigation (and thus the end of 99% CPU usage
Re:Message to Google (Score:4, Interesting)
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
Re: (Score:2)
What exactly has windows got to do with browser vulnerabilities (aside from IE, of course)?
Re: (Score:3, Insightful)
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 ju
Re:Message to Google (Score:5, Insightful)
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 [slashdot.org] (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.
Re: (Score:2)
I never once said that Linux is just as easy to attack as Windows. I also never said that it's security had anything to do with it's overall marketshare, what I said was that if you believe you're secure BECAUSE you're using Linux, then you're just as vulnerable to attack. True, the chances of some random exploit being a problem are severely reduced, but it's not like a clever kiddie couldn't produce different attack code depending on what the User Agent of your browser reports.
I also (briefly, perhaps I br
Re:Google... (Score:5, Insightful)
Re:Google... (Score:5, Insightful)
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.
Re: (Score:3, Informative)
Yep. Sunspider is a pure JS benchmark, no DOM.
By the way, expect Firefox 3.1 to have faster DOM access than Firefox 3. It's being pretty actively worked on.