Slashdot Mirror


Firefox Faster In Wine Than Native

An anonymous reader writes "Tuxradar did some benchmarks comparing Firefox's Windows and Linux JavaScript performance. 'We did some simple JavaScript benchmarks of Firefox 3.0 using Windows and Linux to see how it performed across the platforms — and the results are pretty bleak for Linux.' Later on, they tried Wine. 'The end result: Firefox from Mozilla or from Fedora has almost nil speed difference, and Firefox running on Wine is faster than native Firefox.'"

101 of 493 comments (clear)

  1. Dear losers by tqft · · Score: 5, Informative

    Check the doco

    Firefox 3.0 built for Windows was PGOed (Profile Guided Optimisation)

    PGO was not yet enabled for linux builds

    Try a newer build.

    FAIL

    --
    The Singularity is closer than you think
    Quant
    1. Re:Dear losers by Anonymous Coward · · Score: 5, Funny

      You should test it for yourself - benchmark which setup loads the fucking article fastest and let us know how that turns out.

    2. Re:Dear losers by Bert64 · · Score: 3, Insightful

      It may also have something to do with firefox on windows being built with MSVC, which generally produces faster code than gcc...
      I believe windows firefox is also compiled for i686 or even pentium3, whereas on linux it's typically compiled for i386.

      What would be interesting to see, is optimized builds of firefox compiled with various compilers and options, i'm pretty sure a gentoo box with firefox compiled by intel's compiler could comfortably beat the windows binaries...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  2. First post... by Anonymous Coward · · Score: 5, Funny

    except I'm using Linux

  3. However... by zoward · · Score: 4, Informative

    On the flip side, the pop-unders I get from my local newspaper's site under Firefox don't happen under Linux, only Windows.

    --
    "Can't you see that everyone is buying station wagons?"
  4. *shrug* by Ritz_Just_Ritz · · Score: 2, Insightful

    What I "lose" in javascript performance, I think I more than make up for in not wasting any cpu cycles on anti-virus crud.

    I'm not at all sure how relevant these synthetic tests are. I use Ubuntu 8.10 on a 2 year old laptop and it honestly feels snappier now than it did when it was running XP. Maybe some things are slower and some things are faster. Beats me, as I'm too busy actually using it for real work to be bothered benchmarking it. But on the whole, it certainly "feels faster" now.

    Best,

    1. Re:*shrug* by iammani · · Score: 2, Funny

      You run antivirus on wine?

  5. Not suprised by iYk6 · · Score: 4, Insightful

    Mozilla created Firefox for Windows, and then they made a half-assed version for Linux. I'm not really surprised that the Windows version runs faster. Wine usually runs programs at about the same speed as the Windows version. Sometimes a little more, sometimes a little less.

    I don't see how this "looks bleak for Linux." Damn trolls.

    1. Re:Not suprised by GooberToo · · Score: 2, Interesting

      The native MS compiler is actually pretty dang good. It out compiles gcc any day of the week. MS need only worry about optimization details for a single architecture and platform. The GCC guys on the other hand have to optimize for tons of different chips, variants, and platforms, and as such are much more limited in what they can do. Furthermore, its is very likely the MS compiler supports many optimizations which GCC simply doesn't even support.

      So its really not fair to say they created a half-assed version for Linux. There are many potential reasons why performance can greatly vary between platforms - especially if different compilers are used to create the builds.

      Now here is some food for thought. Considering MS has a vastly superior compiler which commonly generates code 20%-50% faster, and in some corner cases even more than GCC, now imagine how poorly much of their code is written such that Linux with such a performance penalty, due to its native compiler, commonly out performs Windows. Hmmmm....

    2. Re:Not suprised by Anonymous Coward · · Score: 2, Informative

      gcc is primarily interested in x86. They nominally support other architectures, but they don't receive as much attention and end up being outdated, deprecated and removed. OpenBSD resurrected the pcc compiler because gcc dropped support for architectures they support. Apple is working on llvm (among other reasons) because gcc's ARM code generation isn't good enough.

    3. Re:Not suprised by Tweenk · · Score: 3, Informative

      Your little theory is disproved by this chart:
      http://www.agner.org/optimize/optimizing_cpp.pdf
      And scroll down to page 68. GCC does everything MSVC does, and more. The chart says that GCC doesn't implement PGO yet, but currently it does.

      The cause of Firefox underperforming on Linux is most certainly not using PGO in Linux builds, which is a distribution issue more than a Firefox issue.

      --
      Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
  6. Why not? by brunes69 · · Score: 4, Interesting

    For everyone else in the world who does not know what PGO is maybe some details on why it is not enabled would be helpful.

    1. Re:Why not? by plover · · Score: 5, Informative

      Profile Guided Optimization (PGO) is where you compile a special "recording" build of a program, then run it just using your core feature set and "ordinary" tasks. You don't perform a full test, or click on all the options or settings, you just go through normal end-user use cases. The special build then records a "profile" of your typical usage. You then feed the source code plus the profile back into the build process to build your production code.

      The idea is for the linker to identify the hot spots in memory, and group as many of them together as possible so they live on common pages. This helps keep those pages from being swapped out of memory to disk due to disuse, which greatly reduces the amount of thrashing your end users will see during normal use. Less thrashing == improved performance.

      --
      John
    2. Re:Why not? by plover · · Score: 5, Informative

      Oops, sorry, I didn't answer your "why not?" question directly. My guess is that because it takes a fair amount of additional work to create the profile after each build, the step may have been skipped by the Linux build team. As far as I know, profiles are unique to each build: you can't create a profile under the Windows image and reuse it on the Mac or Linux builds.

      That's just a guess, though, I could certainly be wrong about that. I'm sure a PGO expert or perhaps a member of the Firefox build team will chime in here soon to correct me if I am.

      --
      John
    3. Re:Why not? by fuzzyfuzzyfungus · · Score: 3, Insightful

      Completely different sense of the word "profile" I believe.

    4. Re:Why not? by gzipped_tar · · Score: 5, Informative
      --
      Colorless green Cthulhu waits dreaming furiously.
    5. Re:Why not? by somenickname · · Score: 5, Interesting

      The idea is for the linker to identify the hot spots in memory, and group as many of them together as possible so they live on common pages. This helps keep those pages from being swapped out of memory to disk due to disuse, which greatly reduces the amount of thrashing your end users will see during normal use. Less thrashing == improved performance.

      You were correct until here. This isn't PGO's primary purpose. It may do this to prevent TLB misses but, certainly not to lessen the impact of swapping (which for an average desktop linux user is almost non-existent). Optimization is about making decisions about what is likely to produce the fastest code. If the compiler knows how the code is going to be used, it can make better decisions.

    6. Re:Why not? by fracai · · Score: 3, Interesting

      I wonder if they could include this profiling in an opt-in user service. Whereby large amounts of profile data could be collected from the users and build a better aggregate profile. Or perhaps this would provide too little return on investment as the new data would not significantly improve on the existing profile and would only add to the complexity of the software.

      --
      -- i am jack's amusing sig file
    7. Re:Why not? by AmaDaden · · Score: 4, Informative

      The profile in question here is a profile of what variables and chunks of code the program (in this case FireFox) uses the most, not your FireFox user profile. By knowing this it knows stuff like what variables are read and or written the most and the least and it knows what functions should be next to other functions used at the same time. This gives it a good idea of where to store things when it compiles the source. For example the variable containing the users bookmarks will not get accessed as frequently as variable containing the current tabs. While this profile could be effected by how the user uses FireFox it is very unlikely to be a significant difference.

    8. Re:Why not? by aonaran · · Score: 4, Informative

      I think that is why GP said the impact of swapping "for an average desktop linux user is almost non-existent" ...because for an average desktop linux user swapping is almost non-existent.

      I've run Linux machines (for short periods of time, with no more than normal desktop use loads) without any swap, and they work fine... but when you hit that wall of running out of physical RAM you'll feel it a lot more without swap than you would with a swap file/partition.

      Windows on the other hand seems to want to use several hundred megs of swap whether it needs it or not.

    9. Re:Why not? by JoeMerchant · · Score: 2, Insightful

      I don't think a large amount of profile data will do much to improve optimization - better to have a lean profile that accurately represents the most used sections of the program.

    10. Re:Why not? by patniemeyer · · Score: 4, Insightful

      Just wanted to point out that this is the advantage that Java and other runtime profiling languages have over purely statically compiled code. The more information you have the more you can do.

    11. Re:Why not? by EasyTarget · · Score: 2, Interesting

      I'm posting this on a netbook, (asus aspire one) with Fedora 10, 1.5Gb of ram, and no swap.

      Currently I have FireFox (plus real+flash plugins), gimp, aMSN (3 sessions, 2 with webcam) plus all the usual Gnome bits ruinning, and /proc/meminfo says just under 1/5th of the memory is active. I'm starting to wonder if swap is just another obsolete solution to a problem that no longer exists for most real-world users.

      The only things I have seen using swap these days are clunky bloated Java webapps on our servers in the office. (Artifactory is particularly poor in this regard, how any piece of software can use so much resource while delivering so little functionality I just don't know).

      --
      "Oops, I always forget the purpose of competition is to divide people into winners and losers." - Hobbes
    12. Re:Why not? by aonaran · · Score: 3, Interesting

      You are right that in desktop use scenario with over 1GB of RAM you will likely never use the swap.

      If you run something very memory intensive like photo/video editing, VMware, etc. you may, but with today's standard RAM allotments most desktop users never touch swap in Linux.

    13. Re:Why not? by patniemeyer · · Score: 2, Interesting

      So, logically static profiling plus dynamic profiling yields even better results, right? Java and similar languages do have a compiler you know :) But they can also do things that you cannot do in a purely static environment. For example, the hotspot VM can dynamically inline method calls that might end up being virtual and then un-unline them later if needed. Also, it's called "hot spot" because the point of the profiling is to spend the time where it's useful... not everywhere. And you can't necessarily divine statically where that will be. That's the whole point of the PGO pass the article discussed... you have to run the code to understand what is calling what and juggle resources accordingly. There is no simple static "best" answer. And so, again, this is where Java and similar languages have a performance advantage over purely static languages - they get the benefits of both static and dynamic analysis.

      - Pat Niemeyer

    14. Re:Why not? by Eponymous+Bastard · · Score: 2, Interesting

      I just wanted to point out that statically compiled code with PGO is even more advantageous because your final version is optimized with the runtime information, but doesn't have profiling code built in (which the java version would). So once again, static languages win.

      Sorry, just tired of this stupid slashdot meme.

    15. Re:Why not? by bluefoxlucid · · Score: 2, Informative

      Look up gprof for gcc, yes gcc does profiling.

    16. Re:Why not? by Adam+Hazzlebank · · Score: 3, Insightful

      yes I've heard of gprof that's profiling not a profiling optimizer they are different things. Turns out the mozilla build system does support PGO with gcc though: https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization . I'm not sure how it compares with the PGO in MSCC. I don't even know if the distros tend to build it with PGO. In any case gcc tends to lag behind commercial compilers in terms of performance (that is after all the selling point of commercial compilers). GCC tends to be ahead in terms of standards compliance.

  7. How fast do we need? by vorpal22 · · Score: 4, Informative

    Seriously, how fast does a web browser *need* to be? I've never been using Firefox on Linux and thought to myself that it was prohibitively or even annoyingly slow.

    Reading TFA, in most cases, the differences in times don't seem dramatic, either, so who really cares?

    1. Re:How fast do we need? by RiotingPacifist · · Score: 5, Funny

      hey i want the page render before i even click the link (possibly using thiotimoline, but i don't care about specifics), until the browser does that i will never be happy!

      --
      IranAir Flight 655 never forget!
    2. Re:How fast do we need? by EvilNTUser · · Score: 2, Insightful

      I find many websites prohibitively slow, but it has less to do with rendering performance than bad design. Few things are more annoying than staring at a blank page saying "439 of 440 files loaded".

      (Well, ok, one thing. "This site requires flash"...)

      --
      My Sig: SEGV
    3. Re:How fast do we need? by TheLink · · Score: 2, Funny

      Well in many scenarios the browser downloads and executes stuff even before you click the link.

      For some reason they called those security issues.

      People are never satisfied ;).

      --
    4. Re:How fast do we need? by mcvos · · Score: 2, Insightful

      All browsers are prohobitively slow at times. Not to mention their memory footprint.

    5. Re:How fast do we need? by RegularFry · · Score: 2, Informative

      It's pretty borderline on my eee701. I have to install noscript and adblock to keep it usable.

      --
      Reality is the ultimate Rorschach.
    6. Re:How fast do we need? by amn108 · · Score: 2, Funny

      Looking indefinitely for that which really does not exist has always been the curse (or blessing) of man. Some call it faith.

    7. Re:How fast do we need? by Candid88 · · Score: 2, Funny

      Disgusting.

      Many of us here don't take kindly to people like you who advocating violation of the Temporal Accords. As a pre-verteran of the temporal cold war I still carry the scars that conflict will inflict on me.

    8. Re:How fast do we need? by Hatta · · Score: 5, Insightful

      Have you visited Slashdot.org with javascript on in Firefox recently? It stalls for a couple seconds while formatting those god awful tags.

      I guess it's easier for Taco to wait for Firefox to get faster, instead of writing decent code to begin with.

      --
      Give me Classic Slashdot or give me death!
  8. Re:Really a surprise? by Bizzeh · · Score: 4, Insightful

    if you want to talk about monolithic, do-it-all library architecture... lets talk about glibc. does far far far more than any libc is needed to do.

  9. Not just Wine by Kz · · Score: 4, Insightful

    i usually develop on Linux, and test against Konqueror and Firefox 3, and periodically fireup a KVM virtual machine running winXP for testing against IE, Chrome, and Firefox (again).

    when doing heavy JS animations, and even more when using Canvas, it's pretty obvious that FF on windows is far smoother than on Linux, even with the VM overhead.

    I'd say that there are lots of optimizations that the FF/Linux dev team left out.

    --
    -Kz-
    1. Re:Not just Wine by Anonymous Coward · · Score: 3, Interesting

      I think it's mostly that Firefox on Linux tries to use features of the graphics driver that aren't properly accelerated. This seems particularly true on newer nVidia cards - a GeForce 9 series card is much slower than a GeForce 7 series card, even with the latest drivers.

      I've actually had the Linux version of Firefox performing better inside a VM than natively, because in the VM it has no accelerated drivers, and is forced to do everything in software. It turns out that, in spite of the VM overhead, software rendering everything and then just blitting the entire thing in one go using an accelerated driver is faster than using the accelerated driver to draw the thing in the first place.

      I guess that's why Mac OS X doesn't use hardware accelerated rendering, except for compositing windows. Firefox is plenty fast on Mac OS X, although still noticeably slower than on Windows.

  10. Firefox Faster In Wine by AlterRNow · · Score: 4, Funny

    Firefox Faster In Wine

    And here I was thinking inebriation led to slower brain functions!

    --
    The disappearing pencil trick. Let me show you it.
  11. about:buildconfig by DrXym · · Score: 5, Informative

    By default Firefox for Linux uses shared system libraries rather than statically linking them altogether as the Windows version does. That's bound to have an impact on performance because code and data pages will be all over the place. Type "about:buildconfig" into the browser and it will tell you its build settings.

    1. Re:about:buildconfig by CyrusOmega · · Score: 2, Funny

      I am no expert here, but when I look at this I don't see any -Ox and I am pretty sure the default is -O0...

    2. Re:about:buildconfig by bk2204 · · Score: 2, Informative

      Using dynamic linking on Linux/i386 has an overhead: the processor has 8 general-purpose registers, and one of them is used for the PIC register. That's going to result in a pretty significant performance hit.

      Windows doesn't use a PIC register; shared libraries are loaded into a certain spot in memory by default, and as long as they don't overlap, there's no fixup needed.

      So since the test was done on an i386 system, dynamic linking may have affected the results. If the test were done on an amd64 system (running 64-bit code), the results might have been different.

  12. Re:Really a surprise? by Elrond,+Duke+of+URL · · Score: 4, Insightful

    Serious question: What is glibc doing that you don't think it should be doing?

    --
    Elrond, Duke of URL
    "This is the most fun I've had without being drenched in the blood of my enemies!"-Sam&Max
  13. Re:Noticed this for a while now by RiotingPacifist · · Score: 3, Informative

    the qt rewrite is dead jim.

    Its a shame i was really looking forward to the qt port, but just like the old port, it got done then dropped AFAICanTell there wasn't enough developer interest and no users were using it as it wasn't quite usable :(.

    --
    IranAir Flight 655 never forget!
  14. Firefox is slow on Linux in general by Teckla · · Score: 5, Interesting

    I dual boot between Windows XP and Ubuntu GNU/Linux (of the Intrepid Ibex flavor).

    Firefox is slow on Linux in general. Page Up, Page Down, Arrow Up, Arrow Down, Ctrl+Plus and Ctrl+Minus (to increase and decrease the font size)...all of these things are instantaneous on Windows XP, but there's a noticeable lag on Linux.

    I'm not sure what the problem is. I'm using the proprietary ATI drivers on Linux, which should be pretty fast. And my machine is old enough that all the kinks should have been worked out of the Linux drivers for my hardware.

    1. Re:Firefox is slow on Linux in general by QCompson · · Score: 4, Interesting

      Yep, I have the same experience. Firefox operations are much, much slower in linux than in windows. Another example is tab switching. In XP/Vista it is instantaneous, but in linux there is a slight delay. Things like this make the GUI feel very sluggish (I'm using the nvidia driver btw).

    2. Re:Firefox is slow on Linux in general by Anonymous Coward · · Score: 5, Informative

      It doesn't really have to do with X or Firefox so much as the interaction between X and Firefox. Composition effects and pixmap caching at the two prime issues.

      Composition is when you draw an image that blends with what is already on the screen. Right now, a lot of the Xorg code that accelerates composited effects is unfinished. In particular, rendering composited text is painful. The brute force solution of blending with what is on-screen is awful, because reading from video ram is very, very expensive. So optimizing this is pretty non-trivial since the optimization must be that you don't look at what you need to blend with! Progress is happening though.

      Pixmaps are used to store images in the X server. Firefox, to get the rendering effects it wants, often uses large pixmaps for application elements. Large pixmaps can cause memory fragmentation issues, making later allocations harder, causing performance to slowly decline over time. Again, this is something being worked on, but in this case, the client is really not behaving very nicely.

      Like I said, progress is being made on these fronts - Xorg's xserver 1.5 and 1.6 are supposed to have some good acceleration improvements. There's been work on a much improved glyph cache for EXA accelerated fonts. I haven't run any of these, since my distro currently ships 1.4, and I don't really plan on upgrading until Debian does. But since it's a pain point for me, and I read the development mailing list, I thought I'd share.

    3. Re:Firefox is slow on Linux in general by Pravetz-82 · · Score: 2, Interesting

      ... I'm using the proprietary ATI drivers on Linux, which should be pretty fast...

      Wrong! The proprietary ATI driver sucks donkey balls! Two months ago I went from Nvidia 8600GT to ATI 4850HD (both pci-e) and I was astonished how bad were the drivers from ATI(with the nvidia card I used the proprietary driver too).
      - no proper xv output. it doesn't sync the frames to vsync and there is horrible video tearing. The only solution to this was to enable vsync for OpenGL and use -vo gl with specific mplayer build 1.0_rc2_p28058-r1. Later builds were horribly slow with -vo gl and were unable to play even 720p video.
      - horrible x11 performance. try some x11perf tests and compare the results. My card was 10-20 times slower than a low-end nvidia card.
      - no support for the linux driver. End of discussion. You can "make suggestions how to improve it", but that's all.

      As I only occasionally boot to windows to play games, choosing ati card was a huge mistake. On the next upgrade I'll go with nvidia again.

  15. Re:Wine Firefox Linux Firefox XP Firefox IE ??? by TheCycoONE · · Score: 2, Informative

    ... RTFA

  16. Re:Really a surprise? by clickclickdrone · · Score: 5, Insightful

    >But are we really going to try to maximize speed over durability?
    I was taught very early in my IT career that there are 3 considerations on any project.
    1. It can be cheap
    2. It can be fast
    3. It can be reliable.
    Now go and pick 2 out of 3.

    --
    I want a list of atrocities done in your name - Recoil
  17. Re:Really a surprise? by Jimithing+DMB · · Score: 5, Informative

    That's way off base. There are no context switches when making a library call. Context switches occur when you ask the kernel to do something by making a syscall. So memcpy or memcmp don't incur a context switch. Nor do fopen or fread in and of themselves cause context switches. But one will occur when the underlying open and read calls are made.

    What's really needed here is a profiler to find where the code is spending the bulk of its time. My guess is that it's a compiler issue. And other comments about the windows build using profile guided optimization tell me my guess is probably right.

  18. Re:Rats! by mcvos · · Score: 4, Insightful

    If Firefox ran faster in Wine than in native Windows, that would be great news. As it is, it's undoubtedly because Firefox's code is optimized for Windows, rather than Linux.

    If it runs faster in Wine than either native on Windows or native on Linux, that'd be really cool. Or funny. Or sad. I'm not yet sure which.

  19. Re:3.1 Please! by tqft · · Score: 2, Interesting

    http://slashdot.org/comments.pl?sid=1126185&cid=26840435

    See here - did a test on sucky slashdot 2.0

    Still sucks

    --
    The Singularity is closer than you think
    Quant
  20. Re:Really a surprise? by SCHecklerX · · Score: 5, Funny

    Actually, I think it's "Good, Fast, Cheap. Pick 2". And for online dating, it seems to be "Attractive, Intelligent, Sane. Pick 2".

  21. I know that Swiftfox has not been making people by aussersterne · · Score: 5, Insightful

    happy for non-technical reasons, but I continue to use Swiftfox on Linux because it is so damned much faster than Fedora's Firefox build.

    I know that there is a CPU optimization difference, but I haven't looked into other differences. Someone who has looked at the buildconfig for both and/or who knows about the build processes and configurations of both: is the reason for the slowness in the comparison referenced in this post related at all to something that Swiftfox is fixing?

    --
    STOP . AMERICA . NOW
  22. Though Not Dramatic, Interesting Nonetheless by filesiteguy · · Score: 4, Interesting

    I think it stands as a testamant to the WINE folks. I know Linux distros and the various Window Managers - KDE/Xfce/IceWM/Gnome - have to handle things that Wintendo doesn't, as it is integrated into the OS from the get-go.

    However, the results are not that dramatic. I'd be curious to see a few things, including how Native FF runs in KDE with the Gnome libraries loading up. (I run KDE.)

    Also of note - I've posted before on lists that "starting" Word 2003 takes about half the time as it does to "start" OpenOffice 2.x on my distribution. I run CrossoverOffice and have Office 2003 loaded. My guess is that there may be something in Wine that optimizes these processes.

  23. Re:Really a surprise? by rkit · · Score: 5, Informative

    You obviously have no idea what a context switch is.
    A context switch happens when the scheduler stops one process/thread and gives the CPU to a different one. This has nothing to do with cross-library calls.

    --
    sig intentionally left blank
  24. Re:I run Ubuntu Using Wubi by EponymousCustard · · Score: 2, Informative

    My experience of using Ubuntu via wubi (i.e.a file image stored on an NTFS disk) is that the performance is hit severly by the ntfs-3g process. Run top while performing mild disk activity and you'll see what i mean. If you use it regularly you might want to use dual boot instead.

  25. Re:Sorry, but... by FreeFull · · Score: 3, Insightful

    You're talking about what Linux was like 6 years ago. Now it's no harder than Windows.

    --
    No ascii art.
  26. Re:Really a surprise? by OeLeWaPpErKe · · Score: 2, Informative

    Unless I have a HUGE hole in my dynamic library knowledge, you are wrong.

    Linux dynamic libraries, like any windows dynamic library, don't force context switches at all, neither on windows or on linux. They force a few page faults to generate new data segments, but they do so on both systems.

    And in practice ... linux easier to bugfix ? Dream on. Truth be told, as long as it's "high level" stuff, windows is massively easier to bugfix, due to massively better development tools (sorry but nothing beats microsoft's visual set of tools).

  27. Re:Really a surprise? by OeLeWaPpErKe · · Score: 3, Insightful

    No it's not. Due to developers having to foot the bill themselves, you don't get to choose one of your options. Open source software HAS to be cheap. Value is not measured in money you know. Money's just the in-between "equalizer". Value is measured in computers, development time, eyeballs, testers, people, management, internet servers, ... Just because you don't have to pay for something doesn't mean that the value you received wasn't created using resources.

    Your argument would include stuff like "pirated games are free to produce for publishers". After all, there is no money involved in their "acquisition". More extreme, the same would be true for stolen goods.

    Open source is only free for one side of the equation : it's only free for users, not for developers.

  28. Re:Really a surprise? by Anonymous Coward · · Score: 3, Funny

    Actually, I think it's "Good, Fast, Cheap. Pick 2". And for online dating, it seems to be "Attractive, Intelligent, Sane. Pick 2".

    More often "Pick 1"

  29. Recompile please by WindBourne · · Score: 2, Interesting

    with GCC, and Intel. Lets find out if the code base difference between Windows and Linux is the issue OR the compilers.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  30. Firefox on OpenSolaris/Linux/Windows by IvoryRing · · Score: 2, Informative

    I recently went through a round of attempting to use OpenSolaris on my work laptop (damn I want that ZFS juju)... and there were a couple of things that drove me back to Debian - one of them was the horrible performance of Firefox under OpenSolaris. Under VirtualBox on OpenSolaris host, Firefox was faster on either a Debian or a WinXP guest than it was on the host... the difference between usable and not. The specific application that really showed this was Zimbra (pretty heavily AJAXy). In trying to track this issue down, the general feedback on OpenSolaris forums was "Firefox on OpenSolaris kinda sucks, sorry". My personal experience with Firefox is that under Linux or Windows it's subjectively close enough not to worry about (on a variety of hardware, not just the laptop that I tested OpenSolaris on).

  31. Re:Really a surprise? by MBGMorden · · Score: 3, Interesting

    I'm not sure what the specifics are causing it, but I can honestly say that native Firefox on my Linux (Mint 6) system just blows. I have no idea just what they got wrong, but compared to my Windows systems (Vista on laptop, XP on my home desktop and work desktop), or my Mac systems, it just blows. Firefox on my 500mhz G4 Mac with 512MB of RAM is literally a whole different experience compared to Firefox on a 2.8Ghz Celeron Linux system with 2GB of RAM (I've also testing similiar results on my MythTV box which is a Sempron 3400 w/ 1GB RAM, and my old Linux machine which was an Athlon XP2100 w/ 1.5GB).

    If I'm working slow - casually browsing the web, then I can't notice. Thing is I tend to crank open tons of tabs and flip between then when I'm web surfing. At work now (where I open less than at home), and having been here 15 minutes I count 12 tabs open in this browser session. At home I can easily have 75 or more open at once. Usually when flipping between them I'm a very fast clicker, and there is a most definate noticeable pause in the rendering as Firefox on Linux switches between tabs or closes/launches one compared to the other platforms. In general the pages themselves, when network bandwidth isn't the bottleneck, also render a tad slower and more "klunky" (ie, for fractions of a second I can see things appear in one spot and then quickly rearrange to their final positions, where on the other platforms I would have seen far more items just appear in their final location).

    Even though it still doesn't match regular Firefox on the other platforms, I've taken lately to using Epiphany. While it has it's own issues, it still does have a slight speed edge over FF so I continue to use it for now.

    Truthfully, if Linux could FINALLY ditch the inherent "slow" feel to most of it's apps (which I think it really more an issue with xorg and the GUI toolkits more than "Linux", though I'm speaking as an overall platform not a kernel here), then I think it'd pickup a lot of new users, and some part-time users might well become full time.

    --
    "People who think they know everything are very annoying to those of us who do."-Mark Twain
  32. Misguided effort by Wolfier · · Score: 4, Informative

    Browser response, not speed, is what annoys most people on Firefox, since version 1.

    Instead, it's the lack of threading - that the notion "UI, the rending engine, and plugins should run in separate threads, with the UI thread having the highest priority".

    Konqueror runs Flash player in its own process "nspluginviewer", which I can renice to 19 - just like how IE runs Flash in the lowest priority by default. Still, on Firefox 3, a few tabs running CPU-intensive Flash can still effectively freeze the browser UI.

  33. Re:Really a surprise? by locnar42 · · Score: 4, Insightful

    And for your career 1) Like what you do 2) Make lots of money 3) Operate within the law
    Pick any two

  34. Re:You not thinking Milti-Core. by akadruid · · Score: 4, Interesting

    Laptops in particular often have slow hard drives. Antivirus slows them further. You're probably waiting for the disk all the time.

    It's often compounded in a business environment by other disk access apps (auditing etc).

    I know on my laptop, lauching firefox involves McAfee scanning Firefox, then Centennial scanning Firefox, then McAfee scanning Centennial, then McAfee scanning Firefox again.

    --
    "Those who cast the votes decide nothing; those who count the votes decide everything." (attrib. Joseph Stalin)
  35. My biggest frustration w/ Linux by crazybilly · · Score: 3, Interesting
    Honestly, this, and the fact that font rendering looks like crap in FF (and several other programs, even w/ antialiasing turned up all the way) on my cheap home laptop, is my greatest frustration w/ Linux. And I love Linux. I love free (as in freedom).

    But FF's crappy performance/speed/response on Linux just really really sucks.

    I keep looking for a new browser, but Konq + multimedia = crashtastic, midori & kahazekhaze are too overall unstable, and Epiphany is just under-featured. Opera isn't FOSS (which slays me--I love Opera like a little girl loves ponies, but I've got a pretty strong ethical committment to FOSS).

    There's always elinks ;).

  36. Nope, not the problem by Giant+Electronic+Bra · · Score: 2, Insightful

    Think about it. If this WAS the problem, then running the windows version under Wine would not be faster. Wine still has to live on top of X and thus it would suffer from similar issues.

    Now, it could be that the Linux port uses X BADLY and Wine uses X WELL, but that still doesn't make it an X problem.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  37. Re:Really a surprise? by noundi · · Score: 3, Insightful

    And then there was silence.

    --
    I am the lawn!
  38. Re:Really a surprise? by Nakoruru · · Score: 3, Insightful

    You fail to realize that ultimately both versions of Firefox must eventually go through the same layers of Linux in order to do pretty much the same thing. The story is that the Windows version is still faster even though it has a whole extra layer to go through.

    It is not even a comparison of Linux/Windows but of Linux and Linux+Wine.

    The Linux build of Firefox is the problem here and has nothing to do with the trade-offs between how Windows does things and how Linux does things.

    Besides, how can you say that everybody should fall on one side of the Performance/Reliability trade-off? Such things are case-by-case by definition.

  39. Re:Sorry, but... by bmorency · · Score: 3, Insightful

    Don't bother replying to this guy. He posted the exact same comment in the post-beta windows 7 leak story that was posted.

    http://tech.slashdot.org/comments.pl?sid=1126249&threshold=2&commentsort=0&mode=thread&cid=26836579

    We get it you don't like linux. Just go away.

  40. Re:Sorry, but... by twosmokes · · Score: 2, Funny

    No, he's right. I still use Linux to distribute my TRON fanzines and personal Dungeons and Dragons web-sites. Although I have expanded its use to include presenting slideshows of my Sailor Moon hentai.

  41. 68-104 by rjolley · · Score: 2, Interesting

    I ran the google v8 test 3 times and took the high on my Ubuntu machine, the results: Firefox linux: 68 Firefox wine: 104

  42. Maybe you're just cursed by Giant+Electronic+Bra · · Score: 2, Interesting

    I rebooted today after 42 days of uptime, and that includes 42 days of uptime of FF3 under Mandriva 2007.1. No crashes, not a one.

    One thing I'd immediately observe, are you using a compositing window manager? Turn that crap off, nothing destabilizes X apps more than compiz and friends.

    Other than that, I don't know, but your experience is totally opposite mine. Not only is FF3 adequately fast, it is perfectly stable. I can't say if it would be faster in windows or not because I don't HAVE windows and don't need it, but it is a perfectly fine browser as is.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  43. Re:Really a surprise? by Anonymous Coward · · Score: 2, Insightful

    And for online dating, it seems to be "Attractive, Intelligent, Sane. Pick 2".

    It's actually: "Attractive, single, sane - pick 2."
    (appearance, marital status, personality)

  44. Re:Really a surprise? by DarthVain · · Score: 5, Funny

    Attractive and Intelligent works for me! Just don't sleep with her, and by sleep I mean fall asleep. Also hide all knives and scissors.

  45. Re:3.1 Please! by xlotlu · · Score: 2, Informative

    From TFA, the first of the "Answers to some predictable comments":

    Why didn't you use Firefox 3.1?

    We tried using a nightly build of Firefox 3.1 to see how performance might change in the future, but it locked up while running the Dromaeo tests so we opted to leave it for now. To be fair, the browser is still in beta, so it wouldn't really be a good test.

  46. Re:Rats! by thisisauniqueid · · Score: 2, Informative

    Wine runs Chrome a lot slower than Windows.

  47. Re:Really a surprise? by gentlemen_loser · · Score: 4, Informative

    I am not sure how you got modded insightful. Linux, in terms of the kernel, is in fact a monolithic structure but has nothing to do with the API/lib/small packages that can be chained together that the OP was talking about. Linux in the GNU/Linux sense (a distribution), is in fact composed from many small libraries that each perform a specific function well.

    Regarding your point about how the app was built: How do you draw a distinction between the Windows, Linux, and UNIX builds of Firefox? I'll help you - each version is a port using libraries on the system that it is ported to. Those dependencies do in fact have an impact on compilation, how the memory map is built, and how well the application performs.

    Also - the optimization process differences are significantly more complicated than you implied. I strongly suspect, although am not positive because I have never built it from source or examined how an RPM was built, that the Linux Firefox build was done with at least -O2 or -O3 flags. The difference that FP was talking about was PGO (Profile Guided Optimization), which is more involved (and thus better performance gains) than just turning on the default compiler optimizations.

  48. Re:Really a surprise? by IamTheRealMike · · Score: 4, Informative

    Actually he's right but in the wrong direction. On Wine many things that would be pure syscalls on Windows do force a context switch into the wineserver, because the emulated "kernel" is actuall a separate process. For instance opening a file involves an RPC to the wineserver on Wine, whereas it simply switches into kernel mode on Windows and there's no TLB flush overhead. The fact that Firefox is still faster under Wine than native suggests a serious bottleneck somewhere rather than a general problem - if I had to choose, I'd pick text rendering as my first guess.

  49. Re:Noticed this for a while now by erikvcl · · Score: 2, Interesting

    GTK+ is damned slow. The file manager, Nautilus, has nothing to do with GTK+. Compare a GTK+ v2.0 app to a GTK+ v1.0 app. The GTK+ v1.0 app is orders of magnitude faster.

  50. Re:Really a surprise? by psetzer · · Score: 3, Funny

    Well he said the Unix way so I'm assuming he's thinking of some sort of demented scheme involving fork() and a filter-style JS interpreter which spits out a shell script which is then piped to bash with the DOM as an HTML file and the output redirected back to Firefox. Or the official Windows binary was compiled with Intel's monolithic compiler rather than gcc.

    --
    "Anyone who attempts to generate random numbers by deterministic means is living in a state of sin." -- John von Neumann
  51. Inlining everything == Bad by hummassa · · Score: 3, Informative

    cache misses are __WAY__ more expensive than subroutine calls.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  52. Re:Really a surprise? by kwabbles · · Score: 4, Funny

    I guess it's all a matter of preference. Right now my glibc is washing the dishes, which is great since my wife won't. However, in some other house they might want glibc to stay the hell out of the kitchen.

    --
    Just disrupt the deflector shield with a tachyon burst.
  53. Wine needs *more* Context Switches. by spaceturtle · · Score: 2, Informative

    Also, Wine would need more context switches than either Linux or Windows. If you are running a single process you usually switch between at most two contexts, your userspace process and the kernel. However since the functionality of the Linux kernel isn't a perfect match for the Windows kernel, Wine needs an additional context/process, the wineserver, to provide this functionality. So context switches wouldn't benefit wine over plain Linux.

  54. Window Contents by domatic · · Score: 4, Informative

    Firefox appears to be using an inefficient method to render the content to the screen. If a load up a page in Firefox and drag the window around fast, the content inside the window tears and blurs and stays that way for a second after I stop whipping the window around. Konqueror and Opera don't do this.

  55. Re:Really a surprise? by nog_lorp · · Score: 3, Informative

    Context Switch also refers to switching between user and kernel modes via system calls or interrupts. OP is still a raving lunatic though.

  56. Re:Really a surprise? by Adam+Hazzlebank · · Score: 3, Insightful

    It's basically a compiler benchmark. What this proves is that the microsoft C++ compiler produces better code than gcc. This isn't suprising. Re-run the benchmark with the Linux code compiled with the intel compiler. gcc is a good compiler, but it doesn't produce code as tight as some commercial offerings.

  57. Re:Really a surprise? by GleeBot · · Score: 3, Informative

    Serious question: What is glibc doing that you don't think it should be doing?

    This isn't so much a complaint about glibc-as-implementation, but I do think the standard C library design has a lot of crap in it that it just doesn't do well.

    In my mind, the main offender is internationalization and localization support. It's a non-trivial problem that the standard library just isn't very well-suited to--I usually end up using a library like ICU for this.

    The C people should have stuck to byte string manipulation, math, and basic I/O, but there's no putting the horse back in the barn after that.

  58. Well, the chart's wrong. by tjstork · · Score: 4, Insightful

    GCC does everything MSVC does, and more

    This is simply not true. From the chart, Microsoft has Fastcall, disabling exception handling, simple member functions, and GCC does not. Additionally, the chart also incorrectly states that Microsoft does not have an option for fast but imprecise floating point. It does.

    On the flipside, MSVC++ has whole program optimization, which GNU calls LTO. LTO doesn't exist for GNU yet. See here:

    http://gcc.gnu.org/wiki/LinkTimeOptimization

    Scroll down and read. Pretty much, LTO looks to require a new C/C++ parser. That's not going to happen overnight.

    --
    This is my sig.
  59. So can you compile yourself? by mpath · · Score: 2, Interesting

    Can you compile Firefox & Ubuntu yourself and get better performance, then?

    --
    I'm not sure what the secret to success is, but the secret to failure lies in trying to please everyone -Bill Cosby
  60. Has been this way for a while by FunkyELF · · Score: 2, Informative

    I don't know why, but even under complete OS virtualization FireFox is faster in Windows under VMWare or VirtualBox than it is natively on the same box.

  61. Re:Really a surprise? by shutdown+-p+now · · Score: 3, Informative

    It's basically a compiler benchmark. What this proves is that the microsoft C++ compiler produces better code than gcc. This isn't suprising. Re-run the benchmark with the Linux code compiled with the intel compiler. gcc is a good compiler, but it doesn't produce code as tight as some commercial offerings.

    To be honest, the quality of generated code between MSVC and gcc is not that different. MSVC tends to do inlining somewhat better (I've personally witnessed it unroll a ~60000-deep call chain - produced by template metaprogramming - into a single statement). On the other hand, gcc is sometimes more tricky with rearranging the code smartly to produce the same effect for less effort, on the level of individual instructions. I do not think that it's what makes a difference here.

  62. Re:Sorry, but... by Jamie's+Nightmare · · Score: 2, Insightful

    I've got 70 something year old grandmothers using it, teens, and in-betweens.

    Ha ha ha. That's hilarious. Even a little bit kinky. You nearly covered all the stereotypes.

    it does amaze me how many times I try to run something across a self-described Windows geeks and they have no idea what I'm talking about.

    That's because they don't live in your dreamworld where the Linux geeks have taken over.

    --
    "When you see a unixer brainwashed beyond saving, kick him out of the door." - Xah Lee
  63. Sluggish because of disk access by jw3 · · Score: 2, Interesting

    This will go unnoticed, but what the heck.

    I was able to greatly improve the reactivity of both firefox and opera by moving the cache onto tmpfs systems. Actually, I moved full rc directories (.opera and .mozilla) and just rsync them from time to time.

    Caveat - I have a sort of an improvised SSD (using a CF card and an adapter), which is quite slow esp. for concurrent writes. But maybe this is why I noticed it at all. I don't understand why the browsers insist on writing tons of data onto the hard drive when there's plenty of perfectly good memory lying around.

    Cheers,
    j.

  64. Re:Really a surprise? by smellotron · · Score: 3, Insightful

    Serious question: What is glibc doing that you don't think it should be doing?