6 ms·
I'm always amazed when I see the size of the Atom executable on my computer(438MB). It's the size of a game! It's also pretty much the worst performing text edi
by ahtu123 9y ago
I'm always amazed when I see the size of the Atom executable on my computer(438MB). It's the size of a game! It's also pretty much the worst performing text editor (in runtime for most operations) and a memory hog. I really don't get the hype.
- paultopia 9y agoYeah, I wonder about how this Rust thing is going to work. I had always thought that the Atom perf problems didn't come from the underlying language but from the fact that it basically creates a massive DOM for every document... so how much is changing the backend language going to achieve?
- wmf 9y agoThey're also using WebGL instead of creating a massive DOM for every document. There are three kind of unrelated things here: Rust, CRDTs/collaboration, and WebGL so it may be hard to disentangle where the performance gains are coming from.
- deleted 9y ago[deleted]
- Sean1708 9y ago> it basically creates a massive DOM for every document From the OP: > In Atom, the vast majority of computation of any given frame is spent manipulating the DOM, recalculating styles, and performing layout. To achieve good text rendering performance, it is critical that we bypass this overhead and take direct control over rendering. Like Alacritty and Xi, we plan to employ OpenGL to position quads that are mapped to glyph bitmaps in a texture atlas.
- bitwize 9y agoI can't wait for my editor to get a Vulkan backend, for the utmost in text editing performance.
- dvfjsdhgfv 9y agoMany today's developers are web developers, they had no experience of a feature-rich, intuitive, smooth and efficient but relatively lean IDEs - at most something like the most recent versions of Visual Studio and Xcode which are huge beasts. For them, Atom is just a nice editor and they don't even notice the problem.
- zero_iq 9y agoI always think back to when I had a 120MB hard disk in the early 90s. It contained multiple editors, raytracers, games, music editors + music, images, paint programs, multiple programming languages and development kits, a multi-tasking operating system... and room to spare. 90s me would be absolutely floored by a text editor needing 438MB RAM. Wait, what am I saying? 2018 me is pretty flabbergasted by it, but perhaps less surprised (and more cynical) than 90s me.
- paulryanrogers 9y agoMy rose-tinted glasses are cracked, so I don't want to go back. Software was a lot less capable back then. And APIs were often incredibly obtuse, bespoke, or both.
- pasta 9y ago"Software was a lot less capable back then" I think this is true-ish. But when I compare Blender (330MB) and 3ds Max (6GB) I got the feeling some software is just better constructed. Using a web browser as a text editor might not be the best solution...
- mynewtb 9y ago3dsmax comes with lots of content though I guess?
- whywhywhywhy 9y ago> some software is just better constructed Exactly, TextMate and Sublime Text are both around 35 meg and both are close to feature parity for with Atom. It's only this more recent breed of software that is so absurdly bloated.
- ahtu123 9y agoFollowing the current trajectory, the next cool text editor will ship with a full hidden Linux VM.
- com2kid 9y ago
- ehsankia 9y agoAs with most things when it comes to software engineering, it's just a trade-off, and depending on your use case, you may fall on either side of it. They sacrifice memory usage for development pace. Using Javascript/CSS allows them to not only get some of the most powerful pre-existing tools, but also allows the 3rd party community to move at a much faster pace too. Atom already has twice the number of packages as Sublime Text while being half the age.
- pjmlp 9y ago> Atom already has twice the number of packages as Sublime Text while being half the age. Somehow I think it has more to do with developers not wanting to pay for software than anything else. XAML coupled with Blend studio is a powerful UI design tool, or stuff like Adobe XD. HTML/CSS not really.
- klibertp 9y ago> They sacrifice memory usage for development pace. This is a false dichotomy. Vanilla Emacs needs 38Mb on my machine, and it has all the tools you'd ever need to develop plugins for it. Visual debugger, byte-compiler, object inspector, jump to definition (including straight to C implementation when needed), visual font pickers, color palette, documentation browser & docstring viewer for symbol at point, you name it - it's all there. Browser engines are not optimized for handling text editing. They are optimized for basically everything else but text editing. You can make them into kind-of OK text editors, but you have to put a lot of effort just to get to where text-editing frameworks are already[1]. And 200Mb of unnecessary code doesn't make getting there any easier. To my mind, developing a text editor with a web browser is a bad technical decision. It may pay off in the number of devs available and eager to help - it may be worth it, I don't know, it's for the projects' leads to decide. Technically, though, these projects would be much better off with a text-editing framework. [1] LightTable is a good example here. Well-funded, motivated team worked on it for a couple of years - and still failed to provide anything more than Emacs with plugins. Well, it looked a bit better.
- ahtu123 9y agoThe DOM is about the worst structure for text editing I can think of..
- toomanybeersies 9y agoI've had Atom taking up 1.5 GB before. Right now Spotify is taking up 1 GB. VLC can play 4k with less RAM, what the hell?
- rukuu_001 9y agoTry 10GB each for Illustrator & Photoshop CC :(
- toomanybeersies 9y agoI really struggle to run Lightroom on my 8 GB Macbook Pro. To be fair, Lightroom and Photoshop have an excuse: dealing with 20+ MP photos is memory intensive. Atom doesn't: dealing with 2 MB text files is not hard.
- dorgo 9y ago20 MP = 60 MB, right? So 1 GB should be sufficient?
- gdgegeg 9y agoIt's true that it's the size of a game (I think Deus Ex was about that big?) but in-keeping with the shifting numbers lets take a popular Call of Duty game from last year. Steam's minimum storage guideline says 70GB(!). Not say Atom can't be more efficient, but I think this is often our field's "I remember when a cola was 10 cents".
- ahtu123 9y agoThe growth of games is 99% from bigger and better assets though, not bolted on frameworks.