Few notes on web browsers (they all are shit)

SOCKS5

If you ever have to use a SOCKS5 proxy for a selected sites (like to bypass territorial restrictions) you might want to configure it in a manner it will be used by all web browsers, whatever you wanna use. So if you're KDE user you're doing that in your KDE System Settings app, on a tab called "Proxy". If you're GNOME user, I bet there should be an appropriate app for it. And all the rest applications are supposed to fetch these settings from your desktop environment or if you want to configure them on an individual basis - they should let you do so. In theory.

But after a closer inspection on practice it turned out that:

  • Chromium doesn't give a shit about KDE settings. Even more, it doesn't give a shit about SOCKS5 configuration in UI. The only how you can make it to use SOCKS5 is to provide a cli parameter upon startup. But here goes the trick, if you already have a running instance of Chromium that other new process with SOCKS5 in cli won't give a shit about it.
     
  •  Firefox does have SOCKS5 configuration, but it does that in a shit way - you can only specify which sites you don't want to use proxy. There's no nice checkbox like in KDE System Settings like "Use proxy settings only for those sites listed in exceptions". I tried to use a .pac file with a simple function which would always return my proxy (just as a matter of testing), but it's not going to work if you provide Firefox a path to it like file:///home/xxxx/yourfile.pac probably because it just doesn't support that. And running a whole web server just to give that Firefox an only file looks idiotic to me.

    This can be slightly mitigated by installing this firefox extension - Container Proxy but it's also non ideal.

  • Konqueror is pretending that it can work with SOCKS5, but it has a nasty bug which resets the SOCKS5 proxy hostname and port. In the more recent version I tested (22.4) they're saying it explicitly in the proxy configuration that these settings won't be taken into consideration by web browsers. Why to show that form first of all?

  • Opera - forget about it, it doesn't exist on ARM64/AARCH64

 

So in this round winner is Firefox.

 

Memory consumption

I did a very basic test to see what is memory consumed by different browsers when you just open them up, load the same web site in a single tab, scroll to the end of that page (to force browser to actually load every picture) and results are below. 
 
Needless to mention that I repeated my tests number of times with closing browser and killing all of its possible remainings, to ensure results are more or less stable. Measurements were made by running htop in a tty, comparing "memory used" before the browser was started with what it was when (a) browser just loaded the page (b) I scrolled that page all the way down.

Firefox

When just started showing empty page ~ 270 Mb
Opened a page - 320 Mb
Scrolled the page all way down - 370 Mb

Chromium

When just started showing empty page ~ 260 Mb
Opened a page - 310 Mb
Scrolled the page all way down -  360 Mb

Konqueror

For Konqueror I had to disable the setting to keep a preloaded instance of it, because it wasn't exiting clearly and there was always one process remained.

When just started showing empty page - 170 Mb
Opened a page - 210 Mb
Scrolled the page all way down - 260 Mb

 

Clearly Konqueror is a winner here. But to me they're all loosers. How come we ended up in a world, where the shitty page takes that much RAM? It would have been easier to render the whole fucking page into some kind of JPEG or PNG and show it like this in any picture viewer program.


No comments:

Post a Comment

Start here

Disable Firefox from updating itself and flash those annoying "Restart to Keep Using Firefox" messages on you

I recently switched from Brave to Firefox. Just because Brave appeared to be some proprietary shit, even though they're masking themselv...