FireFox 3.1 Leaves IE in the Dust
Anonymous writes "Granted, FireFox 3.1 is just a beta and IE 8 is also in beta, but it looks like Microsoft has some ground to make up when it comes to browser performance. Given that Mozilla appears to be on a much faster cycle than Microsoft with this stuff, it's also possible that it could increase the gap even more before IE 8 is GA, no?"
both are slower than Opera.
This destroys Microsoft's claim that their intimate knowledge of the OS that runs IE will increase performance.
This proves that Microsoft's intimate knowledge of their OS actually inhibits performance of IE and therefore all other Microsoft products.
Microsoft is a victim of their own feature-rich corporate culture. They are a victim of their customers non-uniform demands.
The issue is similar to the ones that have always plagued Java; you have to load massive libraries to do miniscule tasks and that causes noticeable overhead, when they were sadly intended to save time! Firefox is simply more minimal, and it is through their actively sought after security footprint that they deliver better performance by default.
Firefox loads what you need to surf and also lets you modify the experience -- you are in control.
Add with that experience, superior plugins like NoScript, and you also save bandwidth because Flash files don't load by default and scripts don't tie up resources unless you approve them to do so. NoScript was designed for security, but with the added benefit that you get faster performance with it.
Even when you look at Google Chrome, which is also a valid attempt at increasing performance (they flaunt security as a pillar of their design, but their cheerleading is unwarranted), the fact that you can't control scripts that are allowed to run, limits the user and make the user bound to the control of the webmaster, who typically controlled by a business or corporation that is only in it for the money and will infringe on rights of users without any form of conscience or compassion.
The dangers of knowledge trigger emotional distress in human beings.
It's perhaps a bit confusing to mention IE8 in the subject as it was not compared to FF3.1 - IE7 was. I.e. a more apples-to-apples test might have been production FF3.0 versus IE7 or better yet, beta FF3.1 versus IE8.
Having said that, the speed improvements are very impressive, in what ChannelWeb says and other reports. And yea, FF3.1 is setting a darn high bar for IE8 - bring it on FF!
Hulk SMASH Celiac Disease
Is it just an excuse to get you a free pass on bugs?
When is the press going to realize that Java != Javascript? (Or Java !== Javascript, even!) Comparing "Java" performance between browsers is meaningless. (And isn't what SunSpider does anyway.) Comparing JavaScript performance has a very real impact on the users.
Javascript + Nintendo DSi = DSiCade
Is "GA" a common abbreviation? I assume it's a contraction of "generally available", but I did think of, and discount, a few other possibilities first given it's used in conjunction with IE8;
God Awful (too obvious)
Grizzly Adams (not sure where the bad 80s drama comes into things)
Ground to Air (IE could be a Weapon Of Markup Destruction..)
Goatse Arse (Ass if you're American)
Gabon (.ga is the country code for there..)
Standards Non-compliant (using Microsoft Alphabet)
http://twitter.com/onion2k
How many people are going to try a browser because "it is faster?" It is great for the people who already use Firefox, but the majority of new Firefox users had the kid who knows computers down the street install it for them. Those using IE are probably going to continue to use IE until someone manages to get across to them how bad an idea it is, or until whatever apps they are using at work which only work in IE are replaced.
As far as I can see, this is a comparison of Firefox 3.1 with IE7, not IE8 as the summary seems to imply. I am as happy as the next man that FF3.1 is faster, but as a benchmarking exercise, this is pretty limited. How about a comparison including IE8, Opera, Chrome and Safari?
Does the AwfulBar in 3.1 still force you to match against EITHER everything (meta tags, page titles, history) or only what you type?
If so, not interested.
If you've even remotely been keeping up with FireFox, WebKit and IE progress, it's no surprise that IE8 fares poorly. It fared poorly the day it was released, which was about two months ago. Why are we getting this story now?
As a side note, IE8 does fix the pathologically bad performance IE6/IE7 exhibited on certain SunSpider benchmarks. That alone should improve its overall SunSpider score by an order of magnitude. Its javascript engine will still be 2-3X slower than FireFox and Safari, but it will at least be in the same "ball park".
For the life of me, I can't understand why Microsoft continues to abandon its strength.
It feels like the .NET koolaid is coming even to the IE team. Microsoft's .NET push now borders on maniacal, standardizing on .NET and in places where it should not be standardized. Performance matters, particularly when processors aren't getting any faster, just more parallel. Microsoft's has left C++ to languish, has all but abandoned C, and as such has no real performance tool in their own arsenal.
At the same time, the OSS community is actually slogging through and solving some of the difficult problems of making large projects in C++ that perform - getting better experience with the STL, when to use and when not to use, changing compilers to respond, developing automated testing methodologies to overcome what the compilers can't detect, and so on.
There should be no reason for the Windows desktop to be stagnant for fast applications, but Microsoft has basically abandoned it and is pushing developers to do the same. All the new display stuff in Windows requires .NET.. one wonders, how long will it be before Linux has similar systems but are presented as a simple C library that any system can use, regardless of whether it is a managed platform or not.
This is my sig.
I don't see that the things they mention are fair or informative tests. Yes, there's some browser infrastructure involved but other components are doing most of the work:
Maybe Firefox 3.1 is much faster than IE 8 but this article doesn't tell me anything new.
What Microsoft will do is push updates through Windows Update to speed up the IE8 JavaScript engine, upgrade users to another minor release, etc, whatever needs to be done. It allows them to get to market faster. Microsoft's got the push-update down to a fine art so they don't have to have a better product at release date. I'm loving Chrome right now.
It's not like IE has not been a slow dog in javascript performance and standards adoption. Yeah, IE 7/8 are supposed to be an improvement, but since IE is years behind and their development cycles seem to be as slow as their javascript engine (probably due to compatibility) it's not like IE 8 or 9 is going to catchup with the rest of the browsers easily.
BTW, those benchmarks in TFA were probably run with the new tracemonkey javascript engine disabled (it need to be enabled manually in about:config). And my firefox nightly version passes 93/100 on the acid 3 test.
I don't know about the rest of the world, but Firefox 3.0.3 sucks on my three XP machines. Version 3.0.2 worked just fine. I let Firefox upgrade itself to 3.0.3 and it immediately started crashing. It crashed so much that I actually had to use IE to download a copy of 3.0.2 to downgrade Firefox on those machines. And Firefox 3.0.3 crashes on my Ubuntu machine far far more often that earlier versions ever did (although I'm still using 3.0.3 on Ubuntu).
The NSA: The only part of the US government that actually listens.
Last time I checked, Ctrl+Tab switched tabs in Firefox 2, it's just a new flashy display in 3.1
I hope 3.1 gets out the door soon. FF3 won't work on my mac at all - crashes, bad page renders, missing css, broken javascript.
Really? It works perfectly fine on my macbook.
"The issue is similar to the ones that have always plagued Java; you have to load massive libraries to do miniscule tasks and that causes noticeable overhead, when they were sadly intended to save time!" - by mfh (56) on Monday October 20, @11:02AM (#25441013)
When you load a library, & call out its API functions to leverage in another executable (usually an .exe)?
You don't LOAD THE WHOLE THING @ ONCE into the calling app's memory space - YOU ONLY LOAD THE FUNCTION PORTION YOU NEED, period.
(API function call loads from .DLL's are NOT an "all or nothing load" into a calling apps' memory space (in-process calls))
----
"Firefox is simply more minimal, and it is through their actively sought after security footprint that they deliver better performance by default" - by mfh (56) on Monday October 20, @11:02AM (#25441013)
AND, FF doesn't do, or is by itself incapable of, doing much of what IE can in Intranet environs for businesses' internal apps (especially those that use ActiveX controls, or even some functions of .NET via say, ASP.NET).
Every considered that much?
APK
P.S.=> It's hilarious sometimes, when you "purely web guys" try to describe HOW the underlying OS really works, as well as its API (because most times, most of you are way, WAY wrong) in Windows, & the person I am replying to here is just yet another example! apk
http://msdn.microsoft.com/en-us/library/cc351024.aspx
If they had simply added to this list: CSS 3 columns, multiple backgrounds, and
border-radius, I think I'd be pretty satisfied with it. *sigh*
Well, that's also not taking into account the abysmal js performance
it's going to have compared to FF3.1, Safari/Chrome & Opera.
At least they got most of CSS 2.1 in there. We can treat it as the
retarded sibling, rather than the quadriplegic sibling that has to be
turned a couple of times a day so it doesn't get bed sores.
I think IE8 will be a great competitor to Firefox.
Firefox v1.5.
The article seems to be comparing Java and Flash load times as both the examples the writer gave are of Java and a giant Flash application... neither of which test true browser loading performance and "JavaScript" performance as I'm sure most people are curious about.
This is like me reviewing the new Honda Accord by saying it's 10x faster than the Lexus when being dragged by a tow-truck.
Super-internet-logic fail
That how it it where I work.
I think they are stuck with it because of a few in-house POS internal web sites.
MS lemmings rule this place.
Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
IE sadly remains superior in foreign speaking societies where sometimes lack of standard compliance designs in websites makes it the obvious choice.
About a month ago I ran a set of benchmarks to test IE8, FF3.0, FF3.1, Opera, Chrome and Safari on a number of JS and DOM benchmarks. The results are a little outdated (both WebKit and FF3.1 have made big strides in performance in this month alone) but should stand to compare where IE8 is (not IE7). I'll give you a hint: not favorably.
The test and analysis is at my blog and the raw data is here.
To be fair, I'm pretty sure in *nix this is not the case, calling a function in a library requires the entire library to be loaded into memory. Of course I can't think of a good reason to load a library into an app's memory space, isn't it loaded into shared memory and mapped in to each process that needs it? (AFAIK mapping is almost free compared to loading a library). Libraries do have global variables, so just loading the function likely wouldn't work, you need at least the shared variables, and those variables could well contain function pointers. Plus the function you call could well call other functions, it doesn't seem helpful to just load one section of the library, you'll need the rest anyway.
BTW, I'm not a web person, just also not an NT person.
The right to protest the State is more sacred than the State.
I'm holding out for FIrefox 3.11 for Workgroups
IE 8 is a major revision.
FF 3.1 is a minor revision.
Just about any version of Opera is faster than them both.
Learn to compare things.
Where's the SilverLight test, huh? I bet IE wins that one..
Wait, are you really claiming ActiveX is an advantage?
I don't know the meaning of the word 'don't' - J
I mean, OK, it's nice to have the name and URL both in the dropdown from the location bar, but do they have to use so much space doing it?
Camino had that months earlier, without burning nearly as much real estate on it.
If you read any of the stories about Geolocation, it isn't installed by default.
The only thing installed by default is the infrastructure so you can plug in any provider of location, including installing an extension that fakes out location data (or lets you provide it on-demand).
Without additional installs, it's just a bunch of interfaces with nothing hooked up.
æeee!
Most unices use mmap() to load executables and libraries. Pages from such libraries are mapped on demand.
The summary mentions IE8 more than once, but the article is comparing Firefox 3.1 to IE 7 (yes SEVEN - you know, the OLD one!)
The Javascript engine in IE8 is much faster than the one in IE7, so it's a pretty unfair test in the first place and should never have been posted in the first place.
Many posters above already seem to be confused about the IE7/8 thing.
Still no support for border-radius or box-shadow, even in "-vendorPrefix-box-shadow" form since it's still a draft?
Same goes for Opera, BTW.
Windows memory maps executable images, including DLLs.
I use Firefox 3.x all the time and it seems to me the FF folks are so eager to get a grip on the market that they decided that some annoyances are acceptable. Such as, the Bookmarks click right after starting FF that shows the "Edit this bookmark" dialog instead of the actual bookmark list, an effect similar to the result of clicking on the star icon in the location bar (1, 3, ).
I'm not sure about this as its a relatively obscure part of OS/app interaction, but I thought only the parts needed to be paged in were loaded when the shared library was loaded - the right parts are known at compile time as the linker does its thing.
For dynamically loaded libraries, the OS doesn't 'load' the dll, it maps the dll into the app's address space, (you might like to check out rebasing to see what happens when the dll's conflicts with address range already used). Once mapped, only the parts that are needed are loaded in the usual manner (when there is a page fault) as the app uses part of the dll.
However, take the above with a pinch of 'look it up for yourself'.
I do know that .NET apps load all their library code in, especially those that are secured with strong names - the loader has to load it all in order to verify that no-one has tampered with it, and it has to load all dependant libraries and they have ... so sometimes your .NET load performance really sucks. Apparently they're going to do something about it (not sure what) but the WPF guys have said that if you want your WPF apps to perform, do not use strongly named assemblies.
I am one of many people in my circle of associates that has been waiting for improvements such as this.
Without knowing who your "associates" are and how large/important they are, I would say this is irrelevant.
I stopped using Firefox (and IE before it) specifically because the speed wasn't up to par, and am now happily using Opera.
This I don't understand: "speed wasn't up to par". Is there some objective means to tell when something is fast or slow for yet emerging technologies? It sounds more like you are simply saying that you used whatever was fastest until you found something faster.
Also, I don't really agree with your other point, it smacks of the same opensource arrogance that permeates discussions around here. Firefox is not so much better tha IE that your scenario actually makes sense and the assumption that people are ignorant or are forced to use IE is just wrong.
Agreed. Although, I would say that for most people usability and reliability trump speed and "open-sourcy-ness".
Linux Resources
You've never been to a Microsoft seminar, have you?
I have, and that claim is new to me.
SunSpider is a Java benchmark? (Hint: Java != Javascript.) CA (the acronym referring to certificate authorities as a generic term) is a link to a quote for (the unrelated) CA, Inc.?
Ah well... hopefully Firefox 3.1 is as fast as they say.
Program Intellivision!
For dynamically loaded libraries, the OS doesn't 'load' the dll, it maps the dll into the app's address space, (you might like to check out rebasing to see what happens when the dll's conflicts with address range already used). Once mapped, only the parts that are needed are loaded in the usual manner (when there is a page fault) as the app uses part of the dll.
Well, I think the entire DLL is loaded into shared memory. What happens on the app level I'm not sure of, but it's "loaded." Whether nor not it's all mapped in another issue.
I do know that .NET apps load all their library code in, especially those that are secured with strong names - the loader has to load it all in order to verify that no-one has tampered with it, and it has to load all dependant libraries and they have ... so sometimes your .NET load performance really sucks. Apparently they're going to do something about it (not sure what) but the WPF guys have said that if you want your WPF apps to perform, do not use strongly named assemblies.
That's actually the opposite of what .Net does. Fusion (the .Net assembly loader) lazy loads all assemblies, so it won't load an assembly until you attempt to run code within that assembly. I'm positive about this, because I've accidently built an EXE and one library required a particular version of a core library, and another library a different version of that same library. Depending on which library got loaded first, the other library would throw an exception because the core library loaded was not the one it wanted. But if you never hit the second library you'd never get an exception.
I've never heard any WPF people say not to sign or strong name your assemblies; could you provide a link? It doesn't make sense anyway; all assemblies are loaded the same way, whether or not you're building a WPF application. Also, I know that with 3.5SP1, WPF load time was dramatically improved. But that's likely due to the WPF team speeding up initialization of their assemblies, because no one building WPF applications had to do anything at all.
I think it's Georgia. Internally Microsoft doesn't use terms like "alpha" and "beta": a product starts in "Florida" and moves closer to Redmond, so "Washington" means "bug-free". When it reaches "Georgia", it's ready to ship.
until they fix the goddamn egregious bugs they allowed in.
First there was the right-click bug where Firefox would on every X right clicks simply select on its own a menu option to run. Somebody tell me how the hell you release a browser with ANY QA testing with that kind of bug still in it!
Last time I tried it on openSUSE it seemed the right click bug might be fixed but then the browser crashed within MINUTES of using it on my usual sites.
Now they want me to trust them with a complete change of JavaScript engine? You KNOW it's going to be bug-ridden as hell.
It is to laugh.
It looks like I won't be using Firefox 3.x until "x" is somewhere north of 4.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
I gave up reading the article when the author starts talking about 'java benchmarks' when he means Javascript...
-- Ed Avis ed@membled.com
I got upgraded to 3.0.2 and since then i get occasional crashes. It could be the flash on 64 bit... but anyway.
Patents Drive Free Software as Hurricanes Drive Construction Industry
It's having the entire browser freeze up because some plugin (I'm looking at you acrobat reader) is downloading and rendering. Why can't this be done on another thread and let me continue reading in another tab?
I have been developing a few SVG based applications for the last 5 years and finally as of the 3.1 beta the performance is becoming acceptable(*). One of my applications is a control panel which has a number of SVG based buttons on it (somewhere around 30 buttons). In the past just moving the mouse over the panel would cause the CPU to chug along at nearly 100% utilization... but now that is mostly gone! Now you have to move the mouse pretty fast to see much utilization. Nice work guys, keep it up!
* On high-end hardware at least. Slower systems still can't handle anything very complicated. I'm hoping they improve performance even more because it's still very common to have a 1.5 Celeron or so (think netbooks) which still have problems with anything other than very basic apps.
Actually, !== places fewer restrictions on the operands than !=. !== implies that the value, the type or both are different. != implies that the value and possibly the type are different. !== would only make sense when you compare a software Java runtime to a supposedly-identical SoC implementation of Java.
USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
I'm a long term Mozilla fan (Mozilla Application Suite, Phoenix, Firebird, Firefox, I've used the lot as my main browser), but Firefox 3.1 is actually managing to exceed my expectations. It's being developed on time (I thought it would be delayed), it's even faster than Firefox 3.0 (I didn't really think it to be possible they could make it that much faster), they've found a good compromise with the awesomebar (which I actually like already), and they've just managed to hit 93/100 on Acid3 on Firefox 3.1b2pre (which is already past my previous prediction for "80-90/100" for Firefox 3.1 final).
I used to say that Mozilla would have to speed up development to stay ahead of the competition and keep Firefox around as my browser of choice. Firefox 3.0 certainly helped with this, and I see no indications that Firefox 3.1 will disappoint.
Also, note to whoever made this news post. It's "Firefox", not "FireFox". Your nerd credentials are officially revoked, please leave Slashdot immediately.
I hope 3.1 gets out the door soon. FF3 won't work on my mac at all - crashes, bad page renders, missing css, broken javascript.
which is still better performance than I get with IE.
Wait - you still use IE on your Mac? I'm assuming you aren't talking about running Windows on a Macbook as Firefox doesn't have hardware dependencies. If you are talking about IE5 for PPC then you must of woken up from a bad coma or something. BTW Firefox 3 works perfectly on the 4 OSs I've thrown at it - FreeBSD, Linux, Mac OS X, and Windows(XP).
I read TFA, but I think they released the Beta version of the article. More and more interesting info here.
-- Cheers!
I guess getting JavaScript and Java confused isn't a surprise when you see that they call the Ctrl key the Cntrl key.
"For instance, Cntrl-tab has been added as a shortcut to quickly switch between tabs."
Evolution is a state-sponsored, state-protected religion.
It is my understanding that the primary advantages of FF 3.1 are speedups to Javascript and adoption of new HTML tags.
For me (and for much of the web browsing community, such as my cousin, aunt & father, e.g. the 50-84 y.o community) these are USELESS.
1) I am slowly converting my family entirely over to using Firefox with NoScript -- because *anyone* who allows random internet sites to run software on their machine is *nuts* [1].
2) A significant majority of "common" sites will not be using enhanced HTML tags because they have to continue to work with the installed browser base.
This is another example of Mozilla developers getting side-tracked with respect to what is important to *them* rather than what might be important to the community [2].
1. The *real* advantage of Firefox is the selected enabling of Javascript for a few "trusted" relatively non-commercial sites (e.g. gmail, ones bank, ones broker) using NoScript. I will assume the display of pages from such sites is relatively unimpacted by Javascript speedups (since they tend to be network bandwidth or user input consrained). [Though it is worth noting that the gmail javascript appears to be becoming a bit of a pig.]
2. It is worth noting that my cousin, my aunt and my father continue to survive on the internet quite well using dial-up connections (in large part because they live in regions where DSL (or fiber) is unavailable and Cable is too expensive). I presume that G3 service will fall into the $$$ category even when reasonably priced modems that can connect their computers to the net become available.
Who said anything about inter-process calls? You map the code section of each library into each process. The data section can be per-process (so that global variables are per-process). Do you honestly think it's a good memory v. CPU tradeoff to have the dynamic linker figure out which parts of a library you need?
mmap is pretty much free, in any case mmap a bigger segment vs. a small segment has approx the same cost. No efficiency loss there.
Also, note that I prefaced my comment that I was talking about *nix not Windows. However I really doubt that NT works the way you think it works, like I said having the linker figure out which functions you need (including dependent functions) would be very slow, and most libraries aren't huge. I suppose the compiler could pre-compute dependency trees for each function and throw them in the DLL, but that would increase file size and probably isn't worth it. No, I really doubt any working OS tries to load libraries piece-meal, they can easily mmap the library into the process and let the MMU figure out which pages the process needs. That still leaves the whole library inside the process.
Actually, your comment about IPC to call libraries, exactly what process did you think the library would be running in to call?
My point was that you don't load the lib into the process just for that one, you memory map the library (not the same as loading).
I still can't get over that you were stupid enough to think I was suggesting message passing.
Global variables are always local to the process, please understand mmap() before responding to posts about how OSs work.
The right to protest the State is more sacred than the State.
I installed the beta, ran it, messed around a bit. Closed it and reopened it and it announced it had upgraded itself. I literally "upgraded" the 3.1 beta directory executable back to 3.0.3.
I'm guessing when your native language isn't English then the so-called awful bar probably rocks, since you can type in your native language to go to a site instead of using some western URL name. Maybe Mozilla just has their actual users in mind... iirc the majority of the net are not English speakers now.
Apparently /.'s unicode sucks... I can't make it say "Aweful" bar even with funky Latin characters.
I don't think average users care much for performance issues. They are usually on slower connections, don't have many tabs opened, and waste more time trying to figure out where to click next. For simple user who probably doesn't read very fast and doesn't have practice in navigating quickly through web pages is loading speed not very important. And for them it just makes no sense bothering installing some other browser because IE is already there and works for their needs. Its the perfect customer for microsoft - they don't need to have the best browser, its enough for them to have just any usable browser which is not falling behind that much. IE is perfect (even if not for us geeks) if its development was not expensive.
Of course I can't think of a good reason to load a library into an app's memory space, isn't it loaded into shared memory and mapped in to each process that needs it? (AFAIK mapping is almost free compared to loading a library).
In a 32-bit operating system, if two libraries are compiled to use the same address space, and a program loads both of them, one library needs to be loaded and relocated. (A 64-bit operating system can just give 1 GB of address space to every library without breaking a sweat.)
I have (enough of them, anyway), since the mid-90s. Never heard such a thing from any Microsoft employee.
Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
Just about any version of Opera is faster than them both.
I use Internet Channel (Opera 9) on a Wii console (729 MHz PowerPC G3 CPU; 802.11g) and Firefox 3.0.3 on a nearly eight-year-old PC running Windows XP (866 MHz Pentium III CPU; Fast Ethernet). Slashdot's home page loads much faster on Firefox than on Internet Channel. Should I try it on Opera for Windows to make a fairer comparison?
Before another feature is added, before another UI pixel is tweaked, before so much as a single clock cycle of normal performance is optimized, I want FireFox to stop leaking memory and most especially to stop running up the CPU from 10% to 95% (as reported by top) several times a day even in safe-mode.
Yeah, I've tried about a dozen different fixes. I'm not here begging for help; that's what the tech support forums are for.
I'm just declaring: today I'm going to waste my afternoon uninstalling FF, wiping my profile, and re-installing FF from scratch, and I am not happy about that.
If that doesn't fix it, FF goes poof and doesn't come back until I read that this problem has been clearly identified and stomped flat. This is the kind of crap I left IE (and indeed, Windows itself -- I'm on Ubuntu) to get away from -- and no, I don't mean the CPU hogging.
I mean the attitude that feature creep and marginal tweaking is more important than fixing severe usability problems.
In the wrong hands, sanity is a dangerous weapon.
Wow, so using a proprietary library can save you time? Who knew!
The benefit of not using ActiveX, even if it means you have to write some of your own code, is that your application is a lot more likely to work in more than one browser. When an application (web related or otherwise) requires IE components I tend to assume it has been designed by idiots. It's annoying when IE specific issues get in the way of an application running properly for example. That happened recently with one of our FEA tools - installing IE7 caused annoying errors to pop up all the time (and changing its security settings didn't do jack, ended up reverting the machine back to IE6).
The main reason I have started to appreciate web apps (I used to much prefer standalone apps) is for simple, reliable cross-platform compatibility. The computing world is a much better place to be when people use open standards and leave out the proprietary junk.
I'm pretty sure the only plug-in I use apart from ad-block and no-script - which don't really count as they're about removing content rather than adding it - are flashplayers for streaming videos. IMO we'd be better off with a streaming media standard for browsers, if one doesn't already exist. Flash does other stuff too obviously, but I don't need annoying flashing ads or fancy menus which only work on browsers that support flash. Flash and Java are great for cross-platform applications and games, but I don't want them in my browser - I'd be happy to download and run them in a standalone VM.
which is totally what she said
I just did a test of loading both. Firefox 3.1 took 17 seconds to load. That's from 'tap tap' until 'Done' and ready to accept input. MSIE 7 took 7 seconds to do the exact same thing. YMMV, of course, but this was into the same space on the same machine.
At least on my machine, MSIE is DEFINITELY faster to load. Also, Firefox doesn't auto-complete my URLs like MSIE does. (If there is a setting, I haven't found it.) This is very useful for how I use the web, anyway, and makes using Firefox a lot slower. It's klutzier to use.
In terms of rendering, I have to give it to Firefox--especially on a place like Slashdot. Meta-moderation, for example, won't even work--at all--using MSIE, but is a piece of cake with Firefox.
Of course, then you have Chrome. No wonder it has no market share. It's just about useless.
How about a moderation of -1 pedantic.
as I don't run windows... just tell me how much faster 3.1 will be against 3.0 or Konqueror, or Opera on Linux...
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
c:\>whatis mmap
:(
'whatis' is not recognized as an internal or external command,
operable program or batch file.
c:\>
Id love to now more about mmap, but it seems my linux box isnt working right
Go go Gadget Nailgun!
It almost looks like they just regurgitated an article of Firefox 3.0.
For instance, Cntrl-tab has been added as a shortcut to quickly switch between tabs. Also, tabs can be dragged and dropped between Mozilla windows, a feature that works well and smoothly.
Both of these are present and working well in my Firefox 3.0.3 on Ubuntu.
Oh, and it's not Cntrl. It's Ctrl or control, depending on your keyboard, but I've never heard one call it Cntrl.
Don't thank God, thank a doctor!
When you load a library, & call out its API functions to leverage in another executable (usually an .exe)?
You don't LOAD THE WHOLE THING @ ONCE into the calling app's memory space - YOU ONLY LOAD THE FUNCTION PORTION YOU NEED, period.
Unfortunately for you, stating something in all-caps and bold doesn't force it to be reality.
Each DLL's code is loaded once, globally (in most circumstances), the first time it is needed by the system (i.e. if your app links to it, and you start the application, the global instance of the DLL code is loaded.). It is loaded fully and completely, not partially as you stated.
The data portion of each DLL is specific to each app (usually), and a full copy is made by each and every application that references that DLL.
Alright, this is how I believe it works, keep in mind that "loading" and mmap-ing are similar in some ways (address space is used either way, and to the processit appears to be in memory).
Here is where you are wrong:
<quote>
I did, because IF you're not calling a lib "in process", then you have "out of process" loads, & THIS (the latter) incurs messagepassing overheads... you aren't leaving me with any choice here, but to mention that, to inform you of it.
</quote>
Memory mapped sections are shared between processes, and do not exist in any one process. Therefore the library itself is "shared" (not in-process) but not out of process. The entire library is mapped into your address space, and may or may not be in RAM. Entire pages of this library (page = 4K by default) are loaded at a time. The OS may therefore load more of your library than it strictly needs. Loading the same library in two processes will not require loading the library twice.
Yes, you deserved to be insulted for thinking that either the library was loaded into a process or it was out-of-process, mmap is very old and if you are going to comment on library loading you should understand it. The way I worded my original response was not entirely clear, and others phrased it better, however my meaning was the same.
The right to protest the State is more sacred than the State.
From the POSIX standard (man page format):
http://www.opengroup.org/onlinepubs/009695399/functions/mmap.html
Wikipedia:
http://en.wikipedia.org/wiki/Mmap
The right to protest the State is more sacred than the State.
The article compares Firefox 3.1 to IE7 which we all know has issues. Where was the side by side against IE8 beta 2? The only reason I choose IE over FireFox is the security problems. FireFox is known to have been much slower at fixing high priority security issues in the past. I do not mind IE with constant security hole if they are patched as soon as they are found. Once both are near final release i'll check numbers of speed again.
But did Mozilla fix all the issues in Fx3??
I frankly can't really enjoy Fx3 mainly due to two problems:
1. Time after time Mozilla would start doing something with disk and whole browser freezes, sometimes for as long as 10 seconds.
2. On bunch of sites Flash doesn't work. e.g. TheDailyShow.com
Due to Flash problems, I started using Opera now and -hey- 9.x series are not bad overall: very functional and no problems with Flash, no problems with interactivity.
All hope abandon ye who enter here.
They have bad save/open file system.
And when opening applications there are still many of them where you can't set default to always save because Firefox simply disables that option or ignores it. Fix that first.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
The vast majority of users do not see these problems. If you want a problem fixed, you should explain very specifically what the problem is. How would one see Firefox leaking memory? How would one see the Firefox running the CPU went it shouldn't? The problem isn't being identified because those experiencing it are not identifying what it is.
What a fool believes, he sees, no wise man has the power to reason away.
Speed means nothing if the browser is unstable.
http://support.mozilla.com/tiki-view_forum_thread.php?locale=eu&forumId=1&comments_parentId=172574
You don't LOAD THE WHOLE THING @ ONCE into the calling app's memory space - YOU ONLY LOAD THE FUNCTION PORTION YOU NEED, period. On a normal system, yes. But not if the machine is infected with MS Windows.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
Unfortunately not, though I'll see if the link is in my work browser history.. but I did find this which does cover some of the topics mentioned. (the link I referred to was a webcast/ video powerpoint so you can imagine how easy it is to find the damn thing using google).
This link seems to cover some of the same things that I recall- especially the issues of re-hashing strong named assemblies.
$ whatis mmap
:)
mmap: nothing appropriate
$
Darn, looks like I'll never know. Oh and my browser isnt fast enough to use hyper links
(Some sarcasm please!)
Go go Gadget Nailgun!
Can someone please explain how I can upgrady to FF3.1 from 2.07 without looking my history, book marks and passwords?
I tried IE 6 to FF2 at one time, and it worked fine. Luckily all my links to external stuff was in my head or relatively meaningles. When I tried FF3 in top of FF2, all my saved links, history, settings and such went away. I look through the FAQs and HOW TOs and the various forums, and figured oyt that FF suffers from the same problem lots of other tech companies do -- the programmers who happen to know the most about the overall project get tasked with writing the manual. Knowing a lot and being able to explain it well to not correlate, exscept something negatively. FF needs a clearer, easier to navigate and find things in a, instructional flowchart. If there is one, they've managed to hide it well, another symptom of having programmers in charge of documentation. They're mind sets are prefaced with "well you should already know" and "all you have to do is" X, Y or Y', if X then Z, W, download ACB from D*; if Y' then close all programs, download DEFG installer, run it, it will put I on your hard drive which you can use to install ABC which will ask a lot of questions, start to do something, find an error and loop around to ABC and have it ask the same questions so it can loop again.
If I'm mistaken and FF3 can do this, that is upgrade the core without screwing up the external files or losing them completely, please let me know. I can read legal do uments easier than I can read FF's documentation, because the latter doesn't assume you already know everything, which if you did would make documentation unnecessary. The writers are stiill working, so they're still needed. If they would please write for their audience rather than themslves, they might serve to spread FF a lot more.
"I may be synthetic, but I'm not stupid." -- Bishop 341-B
With regard to compatibility:
In my company, we educate users to use IE only when accessing a known commercial site that works only with IE.
With regard to safety:
For general use all other users are educated to use Firefox (WITH Adblock Plus and WITH NoScript)
Why not Chrome?
I am still waiting for Google to give me believable reasons why Chrome is significantly safer than Firefox OR more compatible with commercial web sites than IE before I will permit it to be seriously evaluated for ease-of-use or speed considerations.
I guess I should add an "ask Slashdot" query as to the best combination of Firefox add-ins for a corporate environment. (It was the safety factors that enabled me to promote Firefox within my employer's organization in the first place.)
Live Long and Prosper - Thanks Leonard. You are missed.
Indeed this is true. While the simplest cases can be made that you can get away with only loading what you need to load the portions that are referenced this becomes rather difficult, actually impossible to do, thanks to our friend the function pointer. There is absolutely no way of predetermining what doesn't have to be loaded. Simplicity wins. Load the whole thing and share it.
Exploder, instead of Internet Exploder.
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
This is a good point but it does beg the question:
"Why does MS feel the need to enable or load all functionality related to intranets, ActiveX, etc - in IE when 99% of the people who use it don't need those features?"
a) they are lazy developers who won't take the time to create a new app called Intranet Explorer
b) they are ignorant and think that everyone DOES need that functionality and so include it by default
A fool throws a stone into a well and a thousand sages can not remove it.
Uninstall FF and all plugins (all plugins - not just addons)... delete cache files, profiles, etc. this is a known FF3 issue on macs... google it for more info
A fool throws a stone into a well and a thousand sages can not remove it.
I installed the beta, enabled jit in about:config for both options, and i get the same performance in the raytracer here http://mark.webster.googlepages.com/jsrt-anim.html
javascript.options.jit.chrome
and
javascript.options.jit.content
what gives?
Looking for people to chat about multicopters, coding, music. skype: gtsiros
However, there IS still timing trouble (laggyness) exactly as you describe. Here's the details of my current report, Athlon 3500+ with integrated NVida 6150 (buried alive by Compiz Fusion with tons of glitz: rotating cube, two kinds of mouse-based window selectors, wobbly windows, etc.). Your box seems to be nearly twice as fast as my old one, running Linux.
I'll SWAG that test 77 is due to either unimplemented downloadable text (leading to selection of an alternate font already present on my box), or differences in Linux versus Windows font sizings of a font which is already available. Test 78 is clearly just not implemented at all, and Test 79 seems to be just a "minor" rounding error in something which is already implemented.
My build now includes a bunch of further Tracemonkey JIT fixes and enhancements which landed on the tree AFTER the beta branch was cut. I ran acid3 twice, and the second run was a bit faster than the first-- second results show above. But I've got oodles of other tabs open at the same time, and didn't bother to check out how much they hurt my results.
Leave the troll tagging to the "frosty piss" posts please.
AGAIN: The OS memmgt. subsystems may load a libs/dll's ENTIRE BODY, globally, for sharing amongst apps (as far as libs/dlls are concerned), but, only the parts you NEED map into the calling application's private memory space (when it uses a lib/dll for its own uses).
</quote>
No, the entire library is mapped into the process's memory space. In order to only map parts of the library, the dynamic linker would have to know every function the referenced functions depend on.
I know how shared libraries work, it is you that does not. Also note that I was talking about mmap-ing the "code" sections to share between processes. The "data" sections are not shared, which is what I said from the beginning.
IPC (interprocess communication) has nothing to do with this, you were the only one that though message passing was related.
The right to protest the State is more sacred than the State.
By the way, if you're faced with ENTIRE LIBRARIES loading ALL of their functions content into another calling applications' memory space on *NIX? That's rather inefficient, wouldn't YOU say??
That's not how it works. All of the library's .text gets mapped, but the actual data is shared, so there's only one copy in memory. And, if there are pages containing code that no one actually uses, those pages need never be loaded into memory at all.
Of course I agree, there are loads of libraries today to do anything. I used to imagine I'd have to code everything from the ground up, almost bashing directly on the hardware with no drivers etc (this was when I had an Amiga, tho I only knew BASIC and a little C in those days).
The reason I was being sarcastic is because I thought you were labouring the point about libraries a bit. I think everyone gets that ActiveX can save time, but that is not always the most important consideration.
ActiveX has a bit of a stigma attached to it (in my mind at least) because it has had so many security issues surrounding it for a long time. I don't have so much problem with people implementing APIs to do more advanced stuff in a browser* - but it would be much better to use a well documented and/or open source API for security and cross platform compatibility. ActiveX is useless for a significant chunk of web users. I don't run IE on any machine unless I have to, which often means only for setting up Windows updates.
*I do have a bit of a problem with it because it opens up a lot of avenues for attack - but if it is designed securely to work with restricted or custom privileges it could be useful.. unfortunately ActiveX seems to have been designed to be big on flashy features but not so big on security.. and since then it has just been patched and patched to try and erase the bugs, when IMO they'd be better starting from scratch with a new idea like they tried to do with Vista - but hopefully with better results!
which is totally what she said
Speaking of twisting, note how I did /not/ say a copy of the code was loaded for each instance. I didn't, even though you seem to base your entire argument around it.
Not really. The OS loads the /entire code/ segment into memory. That's all I said; and it remains correct. I did /not/ say that each process loads it into private memory space - except in special circumstances (code blocks marked as read/write), that does not happen.
The issue is similar to the ones that have always plagued Java; you have to load massive libraries to do miniscule tasks and that causes noticeable overhead, when they were sadly intended to save time! Firefox is simply more minimal, and it is through their actively sought after security footprint that they deliver better performance by default.
In that context, the the OP is right - and your reply is wrong by omission. /That/ is what I was responding to. The OS loads the entirety of the code segment into memory - even if a single is requesting it, and that process needs only the smallest subset of the code. He did not mention the application's memory space - you raised that to argue against his valid point (and to insult him for no apparent reason, I might add).
So, as far as I can tell, we've been saying basically the same thing. I was just taking into account the 'global' view of what is happening in the OS; and not just what is mapped into the application space.
Stop using my name.
When did I ever say the O.S. didn't use reference counting with the DLLs? For one thing, that's what mmap() does anyway. However, I was responding to you saying that not the entire library is mapped into the process, as in:
<quote>
AGAIN: The OS memmgt. subsystems may load a libs/dll's ENTIRE BODY, globally, for sharing amongst apps (as far as libs/dlls are concerned), but, only the parts you NEED map into the calling application's private memory space (when it uses a lib/dll for its own uses).
</quote>
Your words, not mine. As I said, I already understood how this worked beforehand. However, you didn't have it right, and your original post was way off. The only one "spouting outrageous b.s." here is you.
And just so you don't try to say I'm wrong again, there might very well be counters specifically for library references (rather than just all mmap'd objects), seems like an implementation-dependent thing.
I think this pretty well shows your level of intelligence:
In response to me:
mmap is pretty much free, in any case mmap a bigger segment vs. a small segment has approx the same cost. No efficiency loss there.
You said:
<quote>
Ok... A QUESTION:
ARE YOU TRYING TO SAY THAT IF I LOADED MORE FUNCTIONS FROM A LIB/DLL, THAT IT WOULD TAKE UP LESS MEMORY THAN ONLY LOADING A SINGLE FUNCTION SECTION FROM SAID LIB/DLL?
(You're wrong if you do, & that is the efficiency gain (I mentioned it earlier anyhow - less ram taken!))
</quote>
You think that mmap takes more memory for a larger segment, the difference is miniscule. There's also almost 0 extra CPU time. Further you seem to have lost your caps lock key while writing that. Please do to digg or somewhere and leave the people who actually work for a living alone.
The right to protest the State is more sacred than the State.
AND, FF doesn't do, or is by itself incapable of, doing much of what IE can in Intranet environs for businesses' internal apps (especially those that use ActiveX controls, or even some functions of .NET via say, ASP.NET).
Every considered that much?
What can you do with ActiveX that you can't do with Java? Can you do any of it on any platform other than Windows?
What can you do with ASP.NET that you can't do with basically any other web development environment?
Finally, what about the continuing issue that you can't load two DLLs with the same name? (Or is that finally fixed?) On Linux I can load two libsdl.so (or whatever) libraries at the same time.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Here's my experience with all the major browsers so far. I currently have the following browsers installed on my computer. On Vista: Safari 3.1.2 Firefox 3.0.3 Opera 9.6.0 Internet Explorer 7.0.6 On XP (virtualized on Vista using VirtualBox; all of these are pre-release): Safari 4.0 Firefox 3.1 Google Chrome 0.2 Internet Explorer 8.0 I have to say that, in terms of speed, Safari is the fastest of all these browsers I've tried. However, it seems to have more than its share of memory leaks (I've been running it now for about half an hour and it's using 250 MB). I haven't played around with the 4.0 beta yet to determine if there has been any stability upgrades, but it doesn't seem any slower than 3.1.2. Opera and Chrome are both nice in their own ways, though I disabled one of Opera's more prominent features, the mouse gestures (I find them annoying). I use both of them for common browsing, but I find that I tend to use Opera more for social stuff and browsing, and I use Chrome more for doing particular tasks, such as checking my e-mail or the like. Internet Explorer 7 is awful, tends to crash a lot, and snails along compared to my other browsers. IE8 has some significant standards improvements (but is still miles behind the competition), and appears to be at least marginally faster and less buggy than 7, but I'd still choose another browser over it. It's also got what are called "accelerators," which are basically plugins that let you do things such as define words using the context menu. In other words, stuff other browsers have been able to do for years. Lastly, I have Firefox optimized for security and functionality, so I tend to not use it for common browsing. However, the 3.1 beta (which I don't have configured this way) seems to have a good balance of speed, stability, and standards support, and doesn't have any feature bloat to bog down my browsing experience.
Have a problem? FF addons are to the rescue!
Oh yes, there's 30 extensions to fix every problem with Firefox, and by the time you're done fixing them all it's locking up every five minutes. Been there, done that, decided that NOT using extensions was the "slim" way forward.
How about making the default minimal, and leaving the spam for the spam fans?
The entire DLL is *mapped* into the process's address space, like I said. That is correct, you said it is not. Look up "mapping memory" (mmap). It does not mean "load". You are incorrect, you keep trying to convince me you are correct even though what you are saying is insane. I suggest you give up now.
An application can only reference something in its address space, "shared" memory has to be mapped into each process's address space, possibly at different locations. This is handled by the MMU.
The data sections are not mapped into the process's address space, since they are not shared. It is possible that the underlying call is mmap, since it is also used as a block allocator. The code sections (all of them) are mapped into the process's address space.
The right to protest the State is more sacred than the State.
Well, I do have to concur that you seem a little crazy - you're even more obsessed with being right than I am! Not to mention regular use of all caps, bold and extraneous punctuation ;) But who am I to hold that against you, perhaps you're just a very enthusiastic person, lol.
which is totally what she said
The problem with SVG is often not the CPU but the graphics card... Most of what's needed to do SVG fast can be offloaded to the GPU, if the GPU is up to it. Of course with netbooks you lose on that front too.
Why shouldn't Firefox be allowed to reuse Windows Kernel Code?
Slashdot = Sarcasm
All of the code sections are mapped into the process, that does not mean they are loaded in RAM, but if the application calls a function in a given page it is loaded. This avoids the system needing to know which functions the application will call, while losing some address space. The reason for creating DLLs is to allow multiple applications to share the same code and to allow the library (which may have OS-dependent calls) to be updated independently from the application (so long as ABI is maintained this can be accomplished).
Leaving aside the option to have the data section be shared among processes, the normal mode is that the data pages are per-process, which is easily done.
Again, the only way to accomplish "sharing" of memory is to map the memory into each process's address space.
I'm not trying to save face here, I really doubt anyone is reading this except you, but if you don't understand how little you know you might be dangerous.
The right to protest the State is more sacred than the State.
I still haven't read any of that documentation, as far as I'm concerned this was simply trying to word things such that you would understand them.
I work on Linux/Unix systems, I have written several vector space matchers and other components. I will not reference my work here since I do not wish to involve my employer in such discussions. For all your supposed accomplishments you do not seem to understand the basics of operating systems, nor civilized discussion.
This is a forum, not documentation on dynamic loading of libraries. I was merely attempting to correct your mistaken views on how libraries work.
I have also released, through my employer, several open source works.
All that has been said here can be summed up by saying that the code section of a library is mmap'd when it is loaded. However you seem to have at least learned how mmap works, which I suppose is a good thing.
The right to protest the State is more sacred than the State.
AND, FF doesn't do, or is by itself incapable of, doing much of what IE can in Intranet environs for businesses' internal apps (especially those that use ActiveX controls, or even some functions of .NET via say, ASP.NET).
I thought ASP.NET ran entirely on the server side, producing HTML/JS/CSS just like any other server-side language. So how is it possible that features of ASP.NET on the server can impact the usability in Firefox?
Another version and Gecko still does not support styled cut and paste between Firefox and OS X. I'll have to stick with Safari 4.0 until they get Gecko right or they abandon it as too cumbersome to repair.
Be as you would have the world become.