Hey Chromium, Dear Firefox. You two realize you're not actually a virtual machine, right?
Could you please stop fighting over who can use the most memory? It's not a contest.
So in the early 90s, SUN had a research project that produced the Self programming language. Self is a Smalltalk dialect/descendant that is prototype-based instead of class-based (i.e. OOP but without classes; objects hold methods directly.)
Self was the testbed for modern JIT research; lots of clever compile-multiple-versions-of-methods stuff. It was fast but consumed a *huge* amount of memory for the time.
I still periodically check selflanguage.org and take a stab at finding something I can play with.
So this prompted me to take another look and I was able to get the 2017 builds running on Linux and macOS.
So, clever but not usable because it basically brought a high-end workstation to its knees if you were also trying to do other things.
And so most of that RAM is used to hold cleverly-JIT-compiled versions of code that will track your browsing habits and show you ads.
There's Les Orchard's 2015 analysis of The Verge:
@fribbledom It’s not a virtual machine, it’s many different and extremely complicated virtual machines in one, unfortunately.
@guenther @fribbledom actual research-based thread management, memory management, and other resource management; simple host-level control and limitation of host resource access and usage; ability to have multiple sandboxed environments; ability to define an environment programmatically; ability to import and export environments....
man, browsers would be pretty cool if they actually had real VM features, come to think of it
I can’t even run Firefox and Chrome together, if I’m using my default profiles on each (with all the extensions). My computer will just come to a halt.
Well, they are virtual machine managers for all the ECMAscript VMs being run by the web pages...
@fribbledom for goodness sake, you know better than to post nonsense like this.
If you have RAM, the browser will use it. If you're running out of memory, the browser will free it up. That's how garbage collected memory systems and caches and many other technologies *work*.
If for some reason you want the browser to use less memory, run it on a PC with less memory available. I promise you it still works just fine.
Well, yes, I certainly do kinda know what's going on in the background. That doesn't mean this isn't problematic. Along with the kernel, now I have two systems fighting over that resource, both optimistically caching away until it's too late. If what the browsers do worked fine, I wouldn't see them getting OOM-killed by the kernel all that often.
@fribbledom OK I concede something is definitely badly broken if they're getting oom-killed by the kernel.
I'm fine with the kernel using all my RAM for caching, but if individual processes start doing it alongside the kernel, it becomes really messy and uncontrollable, very quickly.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!