Still don't understand why my task manager is showing six(!) instances of firefox running when I only have one FF window open; even if I AM running multiple tabs shouldn't it be a single process?
There should be at least two processes, one for handling the Browser interface ie all the GUI components and buttons etc, and one for the page content ie the HTML rendering and script interpretation etc.
There may well be additional processes for things like debugger, search bar, news feeds etc, but that would need further investigation to determine. I seem to initially have three with just one page opened at Google search.
Then, each successive page tab subsequently opened will start a further process, usually upto an additional 4 over the start count when it then levels off irrespective of any more tabs being opened.
Each process will have quite a few threads, these simplisticly being the units of instructions to be pre-emptively scheduled a quantum (a time slice) on the core(s) in your machine (variable but typically anywhere between 5-120ms depending on consumer level or server level environments), each component on the GUI for instance will likely have a thread, each animated gif on a webpage one etc. Since most machines these days are multi-core, this allows a fair degree of concurrency, ie running stuff alongside each other rather than one thing at a time.
The reason for separate processes is that each runs in its own sandbox, the idea being that if for example a script causes a thread to spin or deadlock and makes the tab hang and the page unresponsive, it can be sensed and killed without the other processes/tabs also having to be closed.
Much of this behaviour can be modified, but please, RTFM or you might be in a bad place.
You can paste
about:config into the Firefox adress bar, click enter and then agree to not fuck it up and press the button...
Down in that large list of Firefox behaviours are things like
dom.ipc.processCount.web which will likely be set to 4 these days.
That value for example (seems to) control the maximum number of tab handling processes that will be spawned.
I suspect this is probably normally set at install or even Firefox startup time time and is derived from groping the hardware to determine the available processor count (it's how I would do it).
To be honest, I would recommend you don't modify anything in there unless you really know what you are doing and understand the sometimes complex and possibly sparsely documented interrelationship between some of them and your system.
The vast majority of these Firefox parameters (you can google them, they're all out there), while accessable and mutable from that special config page, will likely offer only marginal improvements to performance but if you set them wrong, it will almost certainly lead to unstable behaviour.
If you also want to play with quantums, you will need to delve into the registry on Windows or modify Linux start up configs, but you normally only need to seriously faff around with them if you're working with embedded systems, ie industrial or military stuff when granularity becomes an issue, ie you're trying to intercept a small object moving at 1500knots or more 100 kilometres away, such as an incoming warhead, where 5 milliseconds may be the difference between success and failure....but 5ms is not going to make a heap of difference if all you are doing is browsing Rawk on your laptop/tablet or smartphone.
Have fun, but don't come back and say it's all gone badly wrong, ie
if it ain't bust, don't try and fix it...