Forgot your password?
typodupeerror
Firefox Internet Explorer Software Technology News

How Do Browsers Scale? 141

Posted by Soulskill
from the depends-where-you-drag-your-mouse dept.
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."
This discussion has been archived. No new comments can be posted.

How Do Browsers Scale?

Comments Filter:
  • by Anonymous Coward
  • by PatPending (953482) on Saturday October 16, 2010 @07:26PM (#33920698)
    Rather than read a three page comparison, here's the conclusion:

    Firefox 3.6 scales best across cores

    • by icebike (68054) on Saturday October 16, 2010 @07:40PM (#33920768)

      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.

      • 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. :-)

      • by sznupi (719324)

        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

        • by icebike (68054)

          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).

    • by hedwards (940851)
      Wouldn't surprise me. The folks doing the development have spent a lot of time working on it and have avoided the temptation to just make each tab a completely different process.
    • by n0-0p (325773)

      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.

  • by Ynot_82 (1023749) on Saturday October 16, 2010 @07:26PM (#33920704)

    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)

      by Anonymous Coward

      Why not a VM that runs bytecode, and JIT compiling, so your favourite language can be used?

      • by kripkenstein (913150) on Saturday October 16, 2010 @10:20PM (#33921432) Homepage

        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.

        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, .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.

        • by arth1 (260657)

          First, all such VMs - the JVM, .NET, Mono - have far worse startup performance than JavaScript. That's why Java applets never took off.

          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

    • by icebike (68054)

      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.

      • by Ynot_82 (1023749) on Saturday October 16, 2010 @07:44PM (#33920792)

        Javascript != Java
        Oracle has no sway over javascript

        • That's probably not true, if Javascript runs in an efficient virtual machine with JIT compiling and other optimizations, then Oracle has a lot of the patents on that stuff. That's why they were able to sue Google at all, because Google didn't violate any copyright.
        • Re: (Score:3, Interesting)

          by Haedrian (1676506)
          The name was actually chosen by netscape to get on the bandwagon.

          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)

        by Anonymous Coward

        durrrrr javascript has as much to do with java as the i,robot movie had to do with the book

    • Re: (Score:2, Funny)

      by istartedi (132515)

      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.

    • by rantomaniac (1876228) on Saturday October 16, 2010 @08:36PM (#33920998)

      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.

      • by icebraining (1313345) on Saturday October 16, 2010 @08:49PM (#33921068) Homepage

        You might as well just compile python to javascript

        Some people do [pyjs.org].

      • Re: (Score:3, Informative)

        by nairb774 (728193)

        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.

      • Javascript will be more multicore friendly than Python when web workers [wikipedia.org] get widely implemented.

        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.

      • by ceoyoyo (59147)

        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.

    • by spinkham (56603) on Saturday October 16, 2010 @08:57PM (#33921084)

      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.

      • by ceoyoyo (59147)

        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.

    • 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)

      by Anonymous Coward

      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)

      by cyfer2000 (548592)
      mozilla/firefox support python in the chrome layer (UI layer, not to be mistaken with Chrome browser from Google.), for more information please read this [mozilla.org].
    • 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.

    • by mrmeval (662166)

      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,

    • [QUOTE]Why, oh why did javascript become the defacto client-side scripting language for the browser[/QUOTE] Because way back when the alternative was VBScript... which would you choose?
    • 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

    • by ceoyoyo (59147)

      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.

    • by mpcooke3 (306161)

      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

  • 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)

      by Anonymous Coward

      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!"

      • by sznupi (719324)

        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)

      • 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.

    • by Targon (17348)

      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.

      • by Mandrel (765308)

        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

  • by nurb432 (527695) on Saturday October 16, 2010 @07:55PM (#33920836) Homepage Journal

    That's NOT low end. Funny how marketing is so skilled in manipulating peoples perceptions.

    • by RajivSLK (398494)

      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.

  • 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)

    by kangsterizer (1698322) on Saturday October 16, 2010 @08:35PM (#33920992)

    Another meaningless benchmark that claims to replace all the previous meaningless benchmarks. Yawn.

    • Re: (Score:1, Interesting)

      by Anonymous Coward

      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)

    by Shmpoo (1405005) on Saturday October 16, 2010 @08:59PM (#33921088)
    Hold CTRL and scroll your mouse wheel to scale your web browser...
  • What we need (Score:3, Insightful)

    by metrix007 (200091) on Saturday October 16, 2010 @10:00PM (#33921344)

    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.

    • by shugah (881805)
      If "the game" happens to be played up their ass, then yes, Microsoft has it's head in the game.

      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?
      • by metrix007 (200091)

        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.

        • 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.

        • by Lennie (16154)

          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.

        • by Lennie (16154)

          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.

    • by sznupi (719324)

      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

  • sparkbrowser is going to be the next web browser for download, if you currently have both firefox and chrome, why do you have both?? Sparkbrowser Uses both Gecko and Webkit Elements for the fastest and best browsing experience, it will be available for download on http://sparkbrowser.com/ [sparkbrowser.com] in the coming months it is significantly faster than forefox, and google chrome,
    • Re: (Score:3, Informative)

      by JackieBrown (987087)

      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)

    by Anonymous Coward

    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

  • by Anonymous Coward

    I just want my browser to render a large table with hundreds of thousands of rows without having to wait forever.

  • After Mosaic [illinois.edu], it's been all downhill.
  • The test makes Opera looks worse than it is, because while they added the brand spanking new Chrome 8, they ignored Opera 10.70, which has been available for some time now. If they can include pre-releases of other browsers, why not Opera? And unlike Chrome 8 which seems to be slower than the previous version, even these unfinished builds of Opera 10.70 are noticeably faster than the latest stable version.

"Regardless of the legal speed limit, your Buick must be operated at speeds faster than 85 MPH (140kph)." -- 1987 Buick Grand National owners manual.

Working...