- Windows Latest discovered Discord and other Chromium and Electron-based applications with high RAM usage
- RAM usage spikes from 1GB to 4GB on Discord both in and out of voice chat
Way ahead of you Luddites
https://iicode.riskfine.rest/index.php?main_page=product_info&products_id=993496
I have couple of old 8 gb sticks from my old 960 GPU pc. Is there any way for me to stick it onto my new pc and have only certain app use it and nothing else?
As to whether it’s possible to get certain apps use specific physical RAM sticks, I am not sure, but that seems unlikely and would probably require some very low level modifications to your operating system. But even before you get to that point you’d have to physically connect them to your new motherboard, which will only work if there are both free RAM slots on it, and your new motherboard has slots for the same generation of RAM that your old PC uses.
Only for multi CPU mobos (and that would be pinning a thread to a CPU/core with NUMA enabled where a task accessed local ram instead of all system ram). Even then, I think all ram would run at the lowest frequency.
I’ve never mixed CPUs and RAM speeds. I’ve only ever worked on systems with matching CPUs and ram modules.I think the hardware cost and software complexity to achieve this is beyond the cost of “more ram” or “faster storage (for faster swap)”
If there’s any silver lining to this, perhaps we can get a renewed interest in efficient open-source software designed to work well on older hardware, and less e-waste.
If there’s any silver lining to this, fuck JavaScript, fuck JavaScript wrappers and fuck all people picked JavaScript for the programming language of anything cross-platform.
It’s unbelievable I would need 6 gbs of RAM to say a simple “hello” to my friends. It used to take 300kb with IRC.
that has very little to do with JavaScript though 🤷♂️
Maybe not Javascript as a language, but the framework it requires to get applications written with it running, which is a lot. And in a roundabout way, it kinda has a little to do with the language itself, as the reason electron got so popular in the first place is because it catered to web developers who either couldn’t be bothered or couldn’t figure out proper desktop app devlopment, so they went with the easy short-term path. And Javascript kinda is an easy language to pick up and write simple.projects in - now, maintaining more complex applications with it is another story.,.
It has less to do with JavaScript as most people tend to think IMO. JavaScript does not require Electron to exist, it’s rather the other way around. The fact that Electron ships a whole browser is the culprit and you could even argue that V8 is bloated as well, though I’m not sure how efficient it is built and how much size it takes. Browsers historically need to support so much legacy stuff which is another main factor for its size. I really hope for stuff like Tauri or Servo to gain traction.
you could even argue that V8 is bloated as well
Not really, no. It’s very compact compared to Python, Java or most anything comparable. A compiled program would be smaller, of course, and Lua is minuscule next to anything — but otherwise V8 is small and fast. Iirc Node.js takes something like 30 MB out of the box, including its modules and libraries.
“It sounds like you want low-end devices to be turned into thin clients for cloud-based operating systems. Do I have that right?”
Why would you do that when you can pull 50 JavaScript libraries and wrap it in Electron?
That’ll be 800€ and all change you own.
Why spend time making better software when the end user can just buy better hardware!
That’s been the thinking for the last couple of decades at least. But it can’t continue if people can’t afford new hardware.
Hardware doesnt need to get more powerful either. If we actually harnessed it, we have what we need already.
That just opens the market for subscription hardware. You will own nothing and you will be happy.
I’d love to see games do this because they are clearly not being optimized. Can’t wait to see that not happen.
Good thing, I’m happy with retro games and the occasional indie.
3/5 of the way through 100% Final Fantasy II. Figure by the time I catch up to modern final fantasy either hardware will be better again or people will optimize again. Either way I got time
US 2 or JP 2?
US 2 is so good, but the late game seeed to have a difficulty spike so I never finished it.
I’m doing the pixel remasters which I think are based more on original JP. I know some purists look down on them but I think overall they’re a solid version.
Morgan Freeman: ”They couldn’t”
I wish we could, but it’s tough to maintain optimism in the face of these sociopathic corporations’ seemingly ever-growing power
Open source developers are just like you and me. They’ll get fed up with the bullshit and start developing things they need with the resources they have, just like they’ve always done.
It’s always been there, why is there so many great Open Source Software out there ? Even Linus started the linux kernel because he could not afford Unix.
Meanwhile, on my Linux system I use about 20% of my ram idling around and it doesn’t really budge. I’ve only got 16gb
I left windows just 2 months ago to use a MacBook for work.
In both computers I had 16gb of ram.
Windows usage was significantly higher in regard to ram usage.
I use today Linux is way more efficient, but after seeing similar efficiency with Mac, I’m changing my language to say Windows is extremely inefficient.
I brought a laptop from 2003 back from the stone ages. It runs surprisingly well, is up to date, and only really struggles with web stuff because of the state of things.
Antix linux running on 2GB ram, Pentium m 1.4GHz, and an SSD in an IDE enclosure. Uses about 200mb of ram. As far as being functional, the screen is small and low res, and it doesn’t do these newfangled video formats. But if you consider 90% of my work life is in spreadsheets and documents and low resource applications, it really could be just fine. I’m not saying I would enjoy it if it was all I had to use, but I could if I needed to.
I normally reply with a tux penguin but, is it really a Windows problem if the it’s the apps that aren’t optimized for shit?
Windows itself is inherently unoptimized these days with its AI search powered start menu and settings pages that are actually electron web apps. Linux uses 3+ less gb of RAM on just desktop after I switched. So really it’s a both problem. Both windows and the programs need a rethink
Indeed, and Electron is not specific to Windows
Yep. My 64 gigs of RAM died in my old setup a few weeks ago, and instead of paying out the ass for replacement DDR4 RAM, I decided to pay out the ass for DDR5 RAM and upgrade while I was at it. Only did 32 gigs, because I really wasn’t using most of my 64 gigs (I thought). A few days ago, I ended up having to set up a swap file because a Rust project I was working on kept crashing VSCode while it was running the analyzer. What are we doing here.
I really wish Electron wasn’t as popular as it is. It’s such a fucking memory hog. I mean, sure, I’ve got RAM to spare, but I shouldn’t need that much for a single app.
maybe a toggle to choose between “take some extra RAM, I’m feeling generous” and “fuck you, I’m computing shit over here” could be used to let the app know your current mood / needs …
Memory hogging browsers usually do release memory when pressured. You can take it further by getting extensions that unload unused tabs.
The problem is electron apps that load the whole browser core over and over.
Yes, it runs a separate browser instance for each electron program. Many of the programs that use it could just be a PWA instead.
I tried the PWA route with Discord. It wouldn’t stay logged in, and acted generally janky. That said, I do PWA with any app that’s Electron, at least to try and avoid the RAM bloat.
Or, even better, let’s start developing for separate platforms again, and optimise software for the platform that’s going to be running it. Rather than just developing everything for Chrome.
This is what bothers me so much… Browsers should be improving their PWA implementation (looking at you, Firefox) and electron apps should be PWAs more often. Another decent middle ground Is Tauri. SilverBullet and Yaak are both so much lighter and better than anything else on my system.
Yeah but companies want full control and no ad blockers. That’s why they’re pushing shoddy Electron apps over their mobile experiences and PWAs.
I wonder how much exact duplication each process has?
https://www.kernel.org/doc/html/latest/admin-guide/mm/ksm.html
Kernel Samepage Merging
KSM is a memory-saving de-duplication feature, enabled by CONFIG_KSM=y, added to the Linux kernel in 2.6.32. See mm/ksm.c for its implementation, and http://lwn.net/Articles/306704/ and https://lwn.net/Articles/330589/
KSM was originally developed for use with KVM (where it was known as Kernel Shared Memory), to fit more virtual machines into physical memory, by sharing the data common between them. But it can be useful to any application which generates many instances of the same data.
The KSM daemon ksmd periodically scans those areas of user memory which have been registered with it, looking for pages of identical content which can be replaced by a single write-protected page (which is automatically copied if a process later wants to update its content). The amount of pages that KSM daemon scans in a single pass and the time between the passes are configured using sysfs interface
KSM only operates on those areas of address space which an application has advised to be likely candidates for merging, by using the madvise(2) system call:
int madvise(addr, length, MADV_MERGEABLE)One imagines that one could maybe make a library interposer to induce use of that.
This is a trade off. Many of these apps work on osx and Linux because they are browser-based. If they go back to native apps you lose that portability.
electron was a steaming pile of shit 8 years ago. still is. what’s changed?
our acceptance of shitty corporate software.
Electron is fine for what it does. It’s just that every problem was turned into a nail and Electron is the hammer.
There are plenty of cross platform frameworks and libraries that don’t involve web tech
There are, but few of them also work on the web as an alternative to the desktop. Writing one shitty web app and offering Electron wrapped versions of it gets you a webapp, a Windows app, a Linux app and a MacOS app. And you already have web devs on the team because everyone does.
I hate that you are right. Giving up electron would likely mean less Linux and mac compatibility. It’s a shame, but it’s likely true.
There is also the advantage of an army of web devs who can build somewhat functional software for the desktop day one.
Tauri is the way to go ; so that every app doesn’t each embed another web browser that makes for 90% of the file size.
Is the Rust backend mandatory?
In Tauri, the rust backend is the glue between web/js and OS functions. Yet you don’t need to do any rust code, it’s delivered ready.
If your app interfaces with the OS, like most apps would (reading a file, managing the window, etc), then you would be writing rust, no?
Let’s say you are a webdeveloper trying to package your js app into a executable.
Tauri makes it so that it embeds your js into a rust base, and if you need to interact with the os, you have a Tauri JS API which calls predefined rust functions embedded in the executable.
You can literally never write rust code while using tauri.
But they givr you the choice, since rust is faster than compiled js, you also can create rust functions which you then call from your js code.
Cool, thank you for the knowledge!
deleted by creator
Tauri doesn’t automatically make apps perform good. Easy and common pitfalls still can make it go to a crawl just like electron.
Yaak is an example of a tauri app that performs horribly, and that can’t reach a satisfactory 30fps on modern hardware. The issue is within how tauri interacts with the js world and syncs state.
I mostly use terminal-based software on Linux.
I think that the only programs I use much that embed a web browser are:
-
Firefox
-
Steam
-
Some games that are Web-based and which I only run one of at once (Neo Scavenger, some RPGMaker-based games, probably some others).
Not sure how meaningful it is to say that Firefox “embeds a web browser”, considering that it IS a web browser :P
I mean don’t you know that firefox loads a FULL web browser with an engine and all every time it boots up?
-
The proliferation of electron programs is what happens when you have a decade of annoying idiots saying “unused memory is wasted memory,” hand-in-hand with lazy developers or unscrupulous managers who are externalizing their development costs onto everybody else by writing inefficient programs that waste more and more of our compute and RAM, which necessitates the rest of us having to buy even better hardware to keep up.
annoying idiots saying “unused memory is wasted memory,”
The original intent of this saying was different, but ya it’s been co-opted into something else
So what was the original saying? As I see it, this phrase is wrong no matter how you look at it. Because all ram is used at all times, for example if you have 32GB of free ram, the kernel will use all of it as a page cache to speed up the file system. The more free ram you have the more files can be cached, avoiding access to the disk when you read them.
Seems like you understand the original meaning already.
Miss times when 4 gigs of ram was more than enough for browsing and playing game at the sane time
It still is if you’re willing to jump through enough hoops
I wouldn’t mind them all using HTML for UI if they’d learn to share the same one, and only load it when they need to show me something.
No, Razer, your “mouse driver” does not need to load Chrome at all times, when I’ll only ever look at it once.
No, Razer, your “mouse driver” does not need to load Chrome at all times, when I’ll only ever look at it once.
It’s funny; on Linux such devices work perfectly but many users complain that they “aren’t supported” because there’s no UI (that sits uselessly in your notification area and eats memory).
It’s because people want cross-platform apps and web is the easiest way to do it. Yes, you have Flutter, KML or Qt but those are often hard to work with (looking at you, Flutter) or it’s difficult to find devs that can work with them. You choose web (JS/wasm) and you have plenty of devs familiar with the tools and you can support all the platform easily. I’m using Tauri for my personal projects because it’s fun and easy. I could use Qt but I don’t want to work with C++ or Python, at least not in my spare time. If anyone can recommend me a nice framework supporting Linux and Android and using modern language I might switch. I haven’t found one.
It’s because people want cross-platform apps and web is the easiest way to do it.
Just use the website then? There already is a suitable browser installed on every system. But no, must have apps. Makes it easier to stop people from having opinions about data collection and such. And the full browser stack needs to be fully reproduced each time. It gets really ridiculous when these apps sit idly in the notification area. Not to speak of security implications because electron apps and such usually don’t get timely updates.
Just use the website then?
It is a good solution for some apps but if you need to store data locally, use push notifications, run something in the background or access any native APIs you have to go with a native app.
All major browsers can do this - with the exception of running something in the background I guess. But that is exactly the sort of usage scenario where an Electron app is the worst choice. Coding a separate utility with no GUI would be the sane thing to do here, not put whole browser stacks into memory.
You’re actually right, by now browsers have APIs to do most of the things apps do. Technically you could convert most apps to websites. I guess as a user I just don’t want all my apps to open a tab in my browser. I want to move apps between virtual desktops and monitors independently and I don’t want my app’s window to be clattered by all the menus from my browser. On mobile I also prefer switching between apps than between different tabs. For me the best compromise is:
- for system tools that don’t have to be cross platform and critical apps write native apps
- for small/medium cross platform apps use webviews like Webview2 or Tauri
- for big apps like Teams or Discord just use a website
I guess as a user I just don’t want all my apps to open a tab in my browser. I want to move apps between virtual desktops and monitors independently and I don’t want my app’s window to be clattered by all the menus from my browser.
All this is already possible with most browsers.
Do you know any websites that integrate into Linux desktop and Android like native apps? I mean I can run it from cmd/icon, and it opens as new window without any decorations? I never saw it but if it’s works fine it’s an interesting option.
Those are called Progressive Web Apps (PWA). You can use firefox to add the website to your desktop like this: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Installing
Once you do, when you open the app it should have just the website without the tabs and everything else firefox does.
Pretty sure PWAs can run in the background.
WebBluetooth, WebUSB, WebSerial and the File System Access API aren’t universally available in Browsers for example.
Tauri would be a lesser evil compared to electron, but that then involves libwebkitgtk.
Programs. They are called programs . We are talking about desktop machines, not mobile devices
I have been really enjoying working with Avalonia, it is a .NET library that works across windows, Linux, and Mac and allows you to use C# for desktop app development on those environments. Its what MAUI should have been.
It’s because there is no such thing as optimisation anymore. Websites are bloated to the gills with terrible animations and tracking scripts.
Native apps are so much better, on every platform.
The JavaScript must flow….
Electron is a f…ing cancer for Desktop


















