Testing a Pre-Release, Parallel Firefox
Firefox, in its official version, still lacks support for multi-threading (running on different processors), though Chrome and Internet Explorer 8 both have this feature. A Firefox project called Electrolysis is underway to close this gap. A blog author tested a pre-release version of Firefox that loads different tabs in parallel, and he chronicles his findings, including a huge speedup in Javascript vs. Firefox version 3.5 (though the pre-release still lags Chrome in many of the tests).
This is a good thing. Firefox desperately needs to modernize. About the only killer feature left in Firefox is customization. Other browsers have already caught up to Firefox in speed, features, and standards support.
Taxation is legalized theft, no more, no less.
Firefox, in its official version, still lacks support for multi-threading
Firefox certainly supports multi-threading. A thread is not the same thing as a process.
Multithreading still relies on a single point of failure - the shared memory space.
By doing what Chrome did, and breaking each tab instance into its own process, any single tab can crash/hang without affecting any other page.
I know when I load an MPG video that it sometimes hangs the browser, and I can't do anything (close/minimize/switch away) while the media player is being loaded. This sometimes causes me stress.
Firefox does support multithreading, what it doesn't support is multiprocessing. Firefox runs as a single process, whereas Chrome has a separate process for every site, plugin and extension.
GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
Don't get me wrong, I love FireFox and it's my preferred browser but I do feel like it's falling behind in a lack of ability to take advantage of certain hardware and software advances.
First as noted, FireFox does not really take advantage of multiple Cpu core's and there's no official 64 bit version. I've read that the developers opinion is that why have a 64 bit version if the most necessary plugin, flash is not available in a 64 bit version so why bother. But Sun does make a 64 bit JRE and that's half the battle and I honestly believe that if a 64 bit official version of FireFox were released that would spur Adobe to jump on the band wagon and produce a 64 bit Flash plugin.
On so many levels !! first of all - The title of the Electrolysis page clearly mentions using multiple processes - where the heck did anyone mention multi-threading? Secondly - multi-threading is not the same as running on different processors. You can potentially split a program into user level threads just to simplify code. Third - firefox already supports multi-threading. The only problem is that threads are still connected to the same PID and killing that in windows/linux/mac will kill all threads along with it. The original article states they are starting from a chromium base. That may be the reason for speedup in Java scripts test ?
Process-per-tab shouldn't speed up Javascript unless you're doing something else in a second tab that's hogging CPU. Most likely the Javascript performance gains came simply from the fact that he was using a 3.7 branch of the code. Which is kind of sad, considering bleeding-edge Firefox still lags behind Chrome by a considerable margin.
I think multithreading means launching multiple execution threads and it's up to the scheduler to assign each thread to a logical CPU, based on load. If you write and run a program that spawns two threads on a dual-core machine, with no other CPU-intensive software running, then you will notice that each thread is executed on a distinct CPU (core).
You do realize that your Prescott Pentium IV is more power hungry than Intel's current faster offerings, right? Perhaps you should buy an AMD if you despise intel and would like to be greener.
Do realize that your P4 consumes a lot more power than a previous-generation (65nm) Core 2 Duo, and in some tests even more than a Core 2 Extreme. Modern 45nm chips use even less power. So really, you're dumping money down the power/heat drain by not using a newer processor. Even if you don't need the speed, it makes a difference in terms of the electric bills. Your point about electricity is completely and entirely invalid.
The Silver Surfer's not white, he's sliver. Just sayin.
You have a fairly complicated comment there. Let's dig a little.
This has so many red herrings I will skip it entirely. The second part gets more interesting.
"...productively engage in a constructive discussion with me with respect to the most efficient way to use the resources at our disposal and how to get to the point where that is the focus of our society rather than consume, consume, consume..."
"Being productive" is more than creating text & spreadsheets. "Make the recreation more efficient". *TV* is one of the most inefficient recreations out there! Not the show - the timing schedule. A lot of "risky" shows are arriving with 16 episode contracts instead of 24, spread out over longer periods to eke out some more "remember me" mindshare. However, it was the internet entertainment multiverse that thrashed the TV mentality to smithereens. Instead of having to wrench our lives to see "our show" for seven months of the year, batch it on Hulu and churn through it on four Saturday Graveyard blocks from 2AM to 7AM. Remember the misery of "nothing good being on"? And even when you're watching it, you can do low level work during the boring scenes. I gained two virtual years of life back while still being satisfied with four show's worth of entertainment.
But if you're now looking askance at processing power, "the cool work" these days eats processor power like a hog. Multimedia editing audio commercials, online collaboration, enterprise accounting, onscreen CAD, information modeling rendering, etc. I bought a quad core machine precisely because the "document machines" couldn't cut it.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
The bottom line is that you have to run up against the fact that a decade ago CPU's could satisfy any reasonable need for processing power. Now all one is buying CPUs for is "fluff" -- watching TV on ones computer, playing games, etc. I.e. it produces nothing, it contributes nothing, it is simply a consumer computing mentality -- my computer exists to entertain me.
I have an Athlon XP 3200+. It's a nice chip, and all, a 32bit one. And for many tasks, it is more than adequate. But when watching flash video full screen on my 32" HiDef TV, it's very jerky. Yes, it's because of Flash being poorly optimized. But it's also what I want to do with my computer, because I DO watch TV. And rather than spend too much money to get Cable TV or Dish, I've switched to all 100% online TV. It saves me $75/month and is a better user experience! I no longer have to pre-plan my viewing, I just watch whatever's available when I want, on demand, right from the beginning of the show.
But while it works well on the Mac mini in my bedroom, and my Dell laptop, it doesn't work so well on the old Athlon. So, I go to Pricewatch.com and buy a new Athlon X/2 motherboard/video card combo upgrade board with 2.1 Ghz of RAM for $150, and now I have a 64-bit, dual-core MB, good RAM, fast processor. Flash plays nicely, and all for less than the cost of a decent DVD player.
Are you still telling me that the CPU doesn't matter? Maybe you are happy with the ancient processor from 10 years ago, and for many tasks, it's probably good enough, but not for everything...
Sorry about your camera, dude. I use a $59 generic digital camera I got in the shrink-wrap isle at the local Best Buy. It's 10 Mpixel with optical zoom, records decent quality video, and came with a free 2 GB memory card. It doesn't have every bell and whistle, but does a good job taking pictures and video. Armed with rechargeable batteries and a cheap external USB drive, my pictures cost almost nothing at all and I don't give a hoot about compatibility since it uses standard flash cards and image format. (JPG/WMV)
What else do YOU want?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Sorry, didn't realize I wrote so much. Here's the tl;dr version:
I'm pretty sure that all or almost all major GUI programming frameworks proceed by handling one event at a time. An event isn't handled until the previous one is done being handled. This is all done in a single thread.
They are easier in other programming languages (Java, Python)