How Do Browsers Scale? 141
An anonymous reader writes "Benchmarking browsers is a somewhat silly exercise, since scores cannot be replicated on a variety of hardware, and it is not uncommon for even the same system to fail to replicate benchmarks scores, especially in JavaScript tests in two succeeding runs. The guys over at ConceivablyTech have an interesting approach, running browsers through multiple tests on different sets of hardware (including an Android smartphone), and showing the scaling differences between browsers when you are using a dual-core netbook on the low-end and a six-core desktop on the high-end. They also tested HTML5 on Firefox mobile and found the browser has better HTML5 support than the current Firefox 4 Beta 6."
Fx 4 beta 6 is months old now (Score:2, Interesting)
Beta 7 is waiting for these blockers to be fixed. [mozilla.org]
Re: (Score:3, Interesting)
Conclusion: Firefox 3.6 scales best across cores (Score:4, Informative)
Firefox 3.6 scales best across cores
Re:Conclusion: Firefox 3.6 scales best across core (Score:5, Insightful)
Nope.
The only takeaway you need is:
Chrome 8 had the smallest gain, which, however is due to coding flaw in the Sunspider benchmark that holds back the processing horsepower of the Phenom II X6 processor in general.
Translation: Our results are totally bogus because our tool was broken but rather than fix that, we are just going to shovel these results out there anyway.
Re: (Score:2)
Nope. The only takeaway you need is:
Nothing is as fast as Links.
-and-
Chrome v. Firefox Browser fanboys today are as silly as Atari v. Commodore fanboys back-in-the-day.
-and- :-)
I like Netscape/seaMonkey.
Re: (Score:2)
-and- Chrome v. Firefox Browser fanboys today are as silly as Atari v. Commodore fanboys back-in-the-day.
No, not as silly. With ST vs Amiga, they at least run different software, so there's some sense in trying to advocate the chosen platform. With Chrome vs. Firefox, not so much...
Re: (Score:3, Informative)
No, Links [jikos.cz].
Re: (Score:2)
Try Links2 [twibright.com], now with Javascript and graphics support (no X11 needed, it even has framebuffer support)
Re: (Score:2)
Links? Did you mean Lynx? Seriously, if you are going to start your argument frofrom there I see no point in continuing, since you seem trapped in the prior century.
Epic Fail.
Or Epic Redface?
Or Epic Pie-on-face?
Re: (Score:2)
He seemed to mean Links:
http://en.wikipedia.org/wiki/Links_(web_browser) [wikipedia.org]
Re: (Score:2)
Underlying methodology was also curious, to say the least. All the browsers were judged based only on their own improvement when going from slower to faster setup. Well...what if, hypothetically, some browser is already fabulous on the slower one, already close to some ceiling fundamentally limited by factors external to its code? What if some other is absolutely horrible on slower machines and it essentially relies on much faster hardware for improvement?
All the while ignoring huge architectural and clocks
Re: (Score:2)
Exactly.
Well said. This measures nothing useful about the browsers themselves because we are told nothing about current performance. (Although we already know that from other sources).
Re: (Score:2)
Re: (Score:2)
Except their data doesn't actually show that, and Firefox 3.6 has far worse absolute performance than the other browsers. So, the effect they're seeing is probably just the other browsers (including Firefox 4 beta) performing much better, but hitting a wall due to cache pressure and/or IO bottlenecks. Whereas Firefox 3.6 is slow enough that it appears to be scaling well, but really just runs slower than the system can perform.
Need a better client-side scripting language (Score:5, Interesting)
Why, oh why did javascript become the defacto client-side scripting language for the browser
If you want to scale horizontally across multi-cores, you need a language that allows easy multi-threading and concurrency
About the only thing JS offers for concurrency is that horrid settimeout function
What we need is a better scripting language
Why not incorporate a Python interpreter into browsers, and develop a stripped down sub-set of python for use on the web
I see no technical issues in doing this, only trying to battle the inertia of JS
Re: (Score:3, Insightful)
Why not a VM that runs bytecode, and JIT compiling, so your favourite language can be used?
Re:Need a better client-side scripting language (Score:5, Interesting)
Why not a VM that runs bytecode, and JIT compiling, so your favourite language can be used?
Several reasons. First, all such VMs - the JVM, .NET, Mono - have far worse startup performance than JavaScript. That's why Java applets never took off. While those VMs improved in that respect, they still lag far behind JS in startup time. They are optimized for long-running processes, not small client scripts that should get going instantaneously. Different goals here.
.NET or Mono - Jython, IronPython, etc.). IMHO it makes sense to have a low bar for writing scripts for websites. You shouldn't need to do C/C++ memory management, or write lots of static typing definitions, to add a little scripting to your website. So something like JavaScript, Python or Ruby makes sense. But again, this last point is clearly debatable, that's just my opinion.
Second, there is no clear open standard for such a VM anyhow. The JVM and CLR are known to have various patents around them; we have recently seen Oracle sue Google, and Microsoft execs have admitted that Mono is only free from risk because it is licensed by Microsoft. So neither is a good foundation for something meant to be truly open and free, like the Web should be.
Third, existing JavaScript engines are, by far, the fastest implementations of dynamic languages out there (much faster than such languages running on the JVM,
Re: (Score:2)
Was it? I had the impression that the main reasons were (a) lack of backwards compatibility or an ABI causing them to fail or behave erratically, (b) they didn't provide any way to navigate that was compatible with the browser and (c) they used their own, incompatible font and widget engine which made the applets look different from the rest of the page.
Flash fixed most of
Re: (Score:2)
Why not a VM that runs bytecode, and JIT compiling, so your favourite language can be used?
You mean like this [wikipedia.org]?
Microsoft Silverlight runs only on Windows and Mac. Moonlight is good for displaying "This applet requires a newer version of Silverlight" messages. I think AC was referring to either JVM bytecode or ActionScript bytecode.
Re: (Score:3, Interesting)
No, like this [parrot.org].
Re: (Score:2)
Amen! And there's an impressive list of languages that can be compiled for Parrot, including ECMAscript.
Re: (Score:1)
Good point.
And with Oracle suing everyone in sight, something like that might just happen. Especially if were smart enough to read the javascript and do the right thing.
Re:Need a better client-side scripting language (Score:4, Informative)
Javascript != Java
Oracle has no sway over javascript
Re: (Score:2)
Re: (Score:3, Interesting)
Java was THE cool new language to come out at the time, and Netscape decided that if they call it "Javascript" it'd make people think they're connected.
Re: (Score:1, Funny)
durrrrr javascript has as much to do with java as the i,robot movie had to do with the book
Re: (Score:2, Funny)
why did javascript become the defacto client-side scripting language
I think it had something to do with the Normans invading England in 1066. The Normans liked coffee, and the English were writing all these scripts, which would ultimately become Shakespeare's plays. Then the French and some Latins got involved. After that they built a navy and used it to create a global empire which spread--what? Javascript you say? Not English? Sorry. Nevermind.
Re:Need a better client-side scripting language (Score:5, Insightful)
Wait, what?
Python as a choice of multithreading-enabled language? You are aware that CPython has a global lock and only one thread can execute Python code at once?
Javascript will be more multicore friendly than Python when web workers [wikipedia.org] get widely implemented.
And what's the point of developing a brand new sub-set of python with a brand new interpreter and set of libraries? You might as well just compile python to javascript, there's not a lot of impedance mismatch between them. Python is mostly useful because of its wealth of libraries, other than that it's just a generic dynamically-typed language with a certain syntax.
Re:Need a better client-side scripting language (Score:4, Interesting)
Some people do [pyjs.org].
Re: (Score:3, Informative)
And Jython does not have a GIL. In much the same way there are multiple implementations of JS (tracemonkey, spidermonkey, v8, ...) there are multiple implementations of Python (CPython, Jython, PyPy, ...)
In the end, multithreading support is not a language limitation in either language, it usually is a implementation limitation.
Re: (Score:2)
What, are you serious? You do realize that Web Workers just implement the shared-nothing message-passing-processes style of concurrency, right? That's exactly the same model as multiple OS processes passing messages to each other through IPC, and Python has been able to do this for years either manually or through the multiprocess library.
Re: (Score:2)
Python also has a multiprocess library that uses exactly the same interface as the threading library. So you can do perfectly good multicore stuff with Python very easily just by starting multiple interpreters.
Re:Need a better client-side scripting language (Score:5, Informative)
Javascript runtimes are way faster then most other scripting languages at the moment.
If you go to the benchmark game [debian.org] you'll see v8 is about 6.5x faster then python and tracemonkey is 3.8x faster.
The only credible "scripting" language runtime that is faster then Javascript is LuaJIT, and Lua has nowhere near the features that JavaScript does.
Re: (Score:2)
Javascript interpreters got a LOT of work put into them by some very big names fairly recently. Before that JS wasn't particularly fast.
I think the OP was suggesting that we should have been using Python instead, and put all that work into Python interpreters. Then we'd be coding web stuff in a language that doesn't compete with perl for obfuscation, AND we'd have some killer Python interpreters for non-web stuff too.
Re: (Score:2)
Why, oh why did javascript become the defacto client-side scripting language for the browser If you want to scale horizontally across multi-cores, you need a language that allows easy multi-threading and concurrency About the only thing JS offers for concurrency is that horrid settimeout function
setTimeout has nothing to do with concurrency. That stuff runs on the main thread. In other words, that's asynchronicity, not concurrency.
But JavaScript does support concurrency, you can access native OS threads using web workers.
Why not incorporate a Python interpreter into browsers, and develop a stripped down sub-set of python for use on the web
I love Python, but JavaScript has better support for concurrency than Python at this point. Python's main implementation also has the Global Interpreter Lock.
Re: (Score:1, Interesting)
Javascript is a very powerful language which is really very elegant if you understand how to use it. The trouble is that most people treat it as a bastardized child of C.
What the world really needs is several books describing the zen of javascript. Perhaps there is also a need for an application compiler for JS as well.
Re: (Score:3, Informative)
Re: (Score:1)
Except that Scaling python across multiple cores is also a problem... CPython actually downgrades performance across multiple cores.
see http://wiki.python.org/moin/GlobalInterpreterLock [python.org] for more information.
Re: (Score:2)
Google has made a change and now locks up firefox so that you cannot do anything, even go to another tab, until the search is complete. I suppose I should look at greasemonkey or something.
There are plugins for TCL/TK, basic, etc, try getting them adopted without being world nuclear dictator,
Re: (Score:3)
Re: (Score:2)
Why, oh why did javascript become the defacto client-side scripting language for the browser
If you want to scale horizontally across multi-cores, you need a language that allows easy multi-threading and concurrency
About the only thing JS offers for concurrency is that horrid settimeout function
What we need is a better scripting language
Why not incorporate a Python interpreter into browsers, and develop a stripped down sub-set of python for use on the web
I see no technical issues in doing this, only trying to battle the inertia of JS
I want to correct you on two confusions. First, while setTimeout relies on a timer, but once the event occurs, the user handler is executed synchronously within the primary thread, and its semantics don't allow for parallel execution without serious side effects. You can use setTimeout to simulate cooperative tasking, but not for implementing actual multi-core concurrency.
And second: Web Workers [whatwg.org] is gradually being adopted by browsers, which is the tool for implementing concurrency: a safe alternative to raw
Re: (Score:2)
Why a stripped down subset? The Python interpreter isn't that big, and the rest is just libraries that you can have or not have - just like JS.
Such a thing is just too good an idea to actually happen.
Re: (Score:2)
Reflect on a few facts:
* The most popular method of adding concurrency to a language is to add threaded/shared-memory style concurrency, which is really really really hard to use without introducing subtle bugs, race-conditions and deadlock - even if you are an expert programmer.
* Most people writing Javascript are not expert programmers, many are not even that familiar with Javascript.
* With flash disabled, it is currently hard for a web page to max out more than 1 CPU core per page by accident.
Think about
Thrash for several hours before benchmarking (Score:2, Redundant)
I find that Firefox gradually slows down with use, requiring me to re-start it at least once per day to avoid second-or-more delays when scrolling or typing.
So I'd like to see benchmarks that test a browser's speed after several hours of simulated use, benchmarking while many other windows and tabs are open. This can also be done in several different memory-restricted VMs to see how the amount of memory affects the speed.
Perhaps my problem is due to one or more of the plug-ins I use. So Mozilla should
Re: (Score:1, Informative)
Perhaps my problem is due to one or more of the plug-ins I use.
No, it isn't. I don't *use* plugins.
Going back several millennium - I've consistently had this problem with FireFox. On Windows (2000, XP, Vista), Linux, and OS X. It's not a specific version. It has nothing to do with platform.
Firefox has speed and memory issues that have been there for eons, that keep getting brushed off with, "Oh, plugins!"
Re: (Score:2)
Most telling is how the previous effort at mobile Mozilla ended - "we're wait for hardware to get better"...and while small portion of mobile phones finally can pull it off, some other engines had been happily running on much more modest hardware for years now (heck, even S40 - the most popular mobile phone platform on the planet, so called "feature phone" one - uses Webkit for two years or so; Opera Mobile ran fine for me on a ~230 ARM11 with 18 MB of user RAM)
Re: (Score:2)
Going back several millennium - I've consistently had this problem with FireFox. On Windows (2000, XP, Vista), Linux, and OS X. It's not a specific version. It has nothing to do with platform.
Firefox has speed and memory issues that have been there for eons, that keep getting brushed off with, "Oh, plugins!"
I'm a Firefox dev. Please file a bug with a reproducible case, so we can fix this!
We test very carefully for memory leaks and that sort of thing today, so while I agree that was an issue in the past, it should not be now. But there may be specific corner cases and bugs. Please report them, and we'll work to fix those.
Re: (Score:2)
The problem you have sounds like a memory leak. What you have not told us is what version of Firefox you are using, since memory leaks ARE found and fixed, but there are still more.
Re: (Score:2)
Targon, in the hope of improvement, I always keep up with the latest stable FF release (currently 3.6.10). FF's memory management has definitely improved over the years, but is still the biggest negative of an otherwise excellent browser.
I noticed FF slowed down much more rapidly when I was using a website with a lot of popup windows. So the the memory leak may be related to window creation or destruction.
If my experience isn't universal, the leak is likely in a plug-in I use. That's why I'd like to se
Re:Thrash for several hours before benchmarking (Score:4, Informative)
It can also be poorly-coded websites.
The BBC's news page used to have an annoying javascript news ticker that ran across the top of the page. As it ran it built a slowly larger and larger array of something or other and memuse would slowly creep up. When I stopped having that as my home page my ff memory problems stopped.
dual-core netbook on the low-end? (Score:5, Insightful)
That's NOT low end. Funny how marketing is so skilled in manipulating peoples perceptions.
Re: (Score:2)
It is low end relatively speaking. And that's all that matters for this test. One lower performing setup compared to another higher performing setup.
Re: (Score:2, Insightful)
Well of course it does (Score:2)
They also tested HTML5 on Firefox mobile and found the browser has better HTML5 support than the current Firefox 4 Beta 6.
Um, yeah. The first beta of Firefox Mobile is based on newer code than FF4b6, which came out a WHILE ago. Beta 7 hasn't been released yet because of a lot of crashes as well as it being considered the "feature freeze".
Yay bench (Score:5, Insightful)
Another meaningless benchmark that claims to replace all the previous meaningless benchmarks. Yawn.
Re: (Score:1, Interesting)
You are right. Besides, I don't care about browser scalability right now. On most systems they are fast enough. The only time I notice a slow browser is the 6+ year old P4 machines at work our data entry people use. What typically slows down my experience is Flash. I'm not even talking about download times, but resource usage of flash. When the web is slow, it's adobe's fault.
CTRL + Mouse wheel (Score:3, Informative)
Re:CTRL + Mouse wheel (Score:4, Insightful)
I use the keyboard Ctrl plus +/- keys to using the mouse you insensitive clod!
What we need (Score:3, Insightful)
Is 64 bit versions of browsers. Proper session management. Proper Adblocking. An extension framework. Configurability.
At the moment, IE and Firefox are the only ones with their head in the game. If Chrome and Opera want to get ahead, then fix what lacks.
Re: (Score:1)
I'll take full implementation of current standards and a commitment to rapidly adopt emerging standards. Designing websites for IE is like putting a designer gown on a turd.
And who thought up that UI?
Re: (Score:1)
The IE9 UI is pretty similar to the rest at the moment.
It is currently the most secure, the only one with hardware acceleration and is standards compliant. Do you have any problem with IE9 that isn't based on your past experiences, which no longer apply? Oh, and they have a 64 bit version. Big plus.
Re: (Score:2)
It took MS how long? And they still only develop for 1 OS.
IE9 is useless for me as I use Chromium at home and IE 6 (don't have a choice) at work. The only way IE9 will be relevant for me is if websites take the opportunity to actually work based on standards compliance rather than browser ids.
For example, when I try to pay my time warner bill with chrome, I get a page that says I can only use firefox or IE.
Re: (Score:2)
euh... your kidding, right ? Firefox 4 (which is in Beta right now) will be out with hardware support before IE9 (not beta or release candidate) proper will be released.
Firefox has also had 64-bit support for years, Chromium/Chrome does too.
Standards support should be highest on the list for everyone and IE9 when released will have the least of all.
Think about that.
Re: (Score:2)
Just like to add, IE9 is only available on Windows Vista and 7, not on XP, XP will be around for years to come. Sales of Windows 7 haven't been al that great. It is only on new computers sold and if you look at the current systems out there, they are fast enough for most.
Microsoft also does not think Windows 7 is useful for iPad-like devices, so they won't be sold on that either.
So IE9 isn't gonna have a lot of impact in the next few years.
Re: (Score:2)
Officially released 64 bit version, great session management (per window if one prefers; never corrupts a session file for me, unlike FF), adblocking built in (just need to be provided with a list [fanboy.co.nz]), even a bit too far with configurability (most people don't know what's there); and for years userjs (can also put items into RMB menu and bookmarklets) & css, plus for a year "Unite" mechanism (usage of which got quickly hijacked for local capabilities), both essentially giving extensions without calling the
http://sparkbrowser.com (Score:1, Flamebait)
Re: (Score:3, Informative)
Sparkbrowser, unlike Internet Exploere and Firefox has every feature that is needed on the control panel, Sparkbrowser tracks your clicks, and search preferences to give you a better more personalized browsing eperience.
If you are weary of your privacy and believe that sparkbrowser has invaded your privacy, you probably should have read the terms of use before you downloaded it.
At least they are upfront about it but since there is no "do no evil" pledge, I will have to pass.
Forget firefox (Score:1, Interesting)
as a long time user of firefox, and for a number of years now, chromium, let me say: chromium appears to work much better than anything else on the low end - largely due to its sane memory utilization when not much is available.
ironically it would appear that chromium/chrome's current limitation is actually one they inherrited from firefox. the cache engine slows firefox, and chrome, to a fucking crawl. ironically, google just took ff's engine and scaled it way out - to the point where it's architectually
Lets start with basics... (Score:1, Interesting)
I just want my browser to render a large table with hundreds of thousands of rows without having to wait forever.
After Mosaic (Score:2)
Why did they leave out Opera 10.70? (Score:2)
Re:Fast enough (Score:4, Insightful)
Actually the whole "scaling" measurement is pretty much a bogus issue, because at any one time you have the machine you have.
You can easily get another browser but you can't quickly or cheaply run out and get a different computer just to obtain more cores.
Further, the results are bogus (by their own omission) because the one browser that should make the best use of multiple cores (Chrome) was not able to do so because of a flaw in the benchmark in use. When the tool is broken, what is the point of publishing results?
Re: (Score:2)
the one browser that should make the best use of multiple cores (Chrome)
Since you said "should", I have to say that other browsers should also be able to do that using multi-threading, assuming your reason is because of Chrome's multi-process approach.
Re: (Score:2)
Which is a bit odd, considering how easy it is to be fast when you're not fully featured and how all of those browsers seem to be getting features that Firefox has had for some time now.
Re: (Score:2)
(checks)
Right now my FF 3.6 is only using 185 megs with 9 tabs plus 1 floating window (radio). That's smaller than what IE8 or Opera 10.5, which use about twice as much.
Re: (Score:2)
P.S.
Of course I don't overload Fiefox with a lot of crap. My only addons are PornZo... er, I mean ImageZoom, NoScript, and 1-click Youtube Downloader. (I used to have WOT but grew tired of false blocks of harmless sites like foxnews,com.) Fewer addons equal leaner memory usage.
Re: (Score:2)
false blocks of harmless sites like foxnews.com
Mostly harmless.
Re: (Score:2)
I don't think it's a troll to claim that Firefox leaks huge amounts of memory. I have no doubt that there are lots of people running Fir
Re: (Score:2)
So, what was it again with the previous effort at mobile Mozilla, its abandonment and "we'll wait for the hardware" (which is finally getting there in a very small portion of the market), while some other engines are happily running on mobiles for years and being available on a vastly broader spectrum of phones?
Re: (Score:1)
Dual core netbook is low-end?
I was surprised by that, too. Dual-Core is my high end, with a PIII on the low end.
Chromium > Minefield on that system, btw.
Re:Dual core netbook is low-end? (Score:5, Funny)
I was surprised by that, too. Dual-Core is my high end, with a PIII on the low end.
Cool. So what's the weather like in Uganda, this time of year?
Re:Dual core netbook is low-end? (Score:4, Funny)
Wet with a chance of noisy lines & 24k dialup.
Re: (Score:2)
"Wet with a chance of noisy lines & 24k dialup."
Oooh, Baby, that's what I like to hear.
Re: (Score:1)
Dunno. But central California is in the 90's.
The PIII has a longer battery life than the dual-core laptop, and much longer than the desktop. ;-)
Otherwise, it'd be in the garage next to the Apple II
Re: (Score:1)
Bah! just you wait till I get my UPS fitted into my back pack, along with my desktop and then a tray kind of like thing for my monitor, keyboard and mouse. Oh wait... you would still beat me in battery life... but mine would some much more awesome!
Re: (Score:3, Insightful)
Re: (Score:2)
I hate to break the news to you, but working PC repair I can tell you the average person's desktop is NOT a dual core, but a late model P4 running XP.
Yeah, I know, but this place isn't exactly for the "average person", and a PIII is pushing it anyway.
I mean, I don't run top-of-the-line hardware myself, by any means - I'm still on "Pentium Dual Cores" processors with DDR2. And my father and sister are using computers that I've given up on because they were too slow. But a PIII? Really???? I would expect better from a /. nerd :)
Re: (Score:2)
Re: (Score:2)
Which is why developers should show some restraint and NOT use the latest hardware to develop on. Use it to test the final product, sure, but keep the main development cycle and especially any dogfood phases on older hardware. You will end up with software which works fine on older spec hardware. It will fly on newer boxes.
Re: (Score:2)
Yup, I need to know how they perform on a dual hexacore Gulftown!
Heh. But seriously, logging into one of the lab machines makes the dual core laptop feel slooow.
Re: (Score:2)
Re: (Score:2)
Hey, look what happened when they released FF14 before it was ready...
1 word: TRAINWRECK.
Re: (Score:1)
Firefox 14? Do you mean Firefox 1.4? I don't even remember that version.
Re: (Score:2)
Final Fantasy...
Re: (Score:2)
Re:FUCK JavaScript (Score:4, Insightful)
Re: (Score:2, Troll)
What makes you think that somebody who remembers what gopher was would be young? What makes you think that someone who thinks that mixing content with code is a bad idea is of lower intelligence?
If these two posts were all that I were to go on, then I'd be forced to conclude that the GP is older and more intelligent than you. Your UIDs only help to reinforce my conclusion.
Re: (Score:2)
Now 'age' can refer to chronological age or mental development age. Here on Slashdot, as far as I have observed, the mental development age is around 12. I have no idea what the chronological age average is, but I assume that it skews to a younger demographic. Certainly u
Lynx (Score:2)
Lynx is rather nimble!
Re: (Score:3, Funny)
There's that word again; "heavy". Why are things so heavy in the future? Is there a problem with the earth's gravitational pull?
(Dr. Emmett Brown, Back to the Future part 1)