TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Improving startup time in Atom with V8 snapshots

212 pointsby ioabout 8 years ago

21 comments

itpabout 8 years ago
New world, same old problems. Fascinating to see how this parallels the way Emacs tackled this problem long ago.<p>- <a href="https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;673724&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;673724&#x2F;</a><p>- <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11001796" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11001796</a>
评论 #14143657 未加载
评论 #14142655 未加载
评论 #14141410 未加载
评论 #14141519 未加载
评论 #14143678 未加载
评论 #14141566 未加载
评论 #14145529 未加载
jnordwickabout 8 years ago
I&#x27;m way more worried about memory issues while running. Atom take up 1 gig+ with very little open. It pushes all my other tools out of RAM and into swap. Switching to the browser to see documentation takes a few seconds if I&#x27;m lucky.<p>Compiling a few more seconds to page in. Ssh a few more. Everything on my laptop slows to a crawl as they fight for RAM with Atom taking up the way more than it should.<p>I know the answer, &quot;buy more RAM it&#x27;s cheap&quot;, from the Atom people, but then my browser people tell me the same thing. So do my interface people, and my kernel people, and by the time I say &quot;okay&quot; to all of them, I&#x27;m out of RAM again.<p>Application need to learn they aren&#x27;t the only thing running. For some reason, my machine seems to be getting slower and slower no matter how much I upgrade.
评论 #14141921 未加载
评论 #14143187 未加载
评论 #14142324 未加载
评论 #14146031 未加载
评论 #14142237 未加载
评论 #14146001 未加载
评论 #14142044 未加载
评论 #14143188 未加载
WhitneyLandabout 8 years ago
Is there any way not to conclude they have just been out designed&#x2F;architected&#x2F;optimized by Microsoft?<p>What a compliment to the VSC team that after all this work, Atom still doesn&#x27;t seem to match startup time, or more importantly perceived performance while editing.<p>It&#x27;s a more interesting comparison since they&#x27;re both bound by similar constraints, and building cross platform apps.<p>In the bad old days I once worked for a MS competitor where there were often complaints of unfair competition. Most often around how knowledge of closed sourced OS internals allowed optimization insights unavailable to others.<p>Not all MS devs are great for sure, but I&#x27;m inferring two things here. The VSC team is pretty damn good, and that IP and institutional knowledge from decades of investment in dev tools probably helps a bit.
评论 #14145762 未加载
评论 #14156156 未加载
fpgaminerabout 8 years ago
I&#x27;ll provide a contrasting opinion to the comments saying startup time isn&#x27;t important to them.<p>I tend to work chaotically. I dive into a project and tackle whatever the problem of the day is. The result is a sprawling mess of reference code pulled up in different editor windows, documentation and google results spewing out over 4 browser windows and 30 tabs, and just as many terminals managing VCS, compilation, tests, etc.<p>It&#x27;s not that I&#x27;m a messy coder or anything; it&#x27;s just that when I&#x27;m focused on a problem then my concern is about that problem, not about the growing heap of reference material. The problem is particularly pronounced when working on web applications, where I have to handle multiple code bases at once.<p>Once I&#x27;m done, I&#x27;ll become horrified by the state of my desktop and proceed to close everything.<p>The next coding session starts fresh.<p>So startup time is actually important to me. I have to say I&#x27;m annoyed by VSCode&#x27;s startup time. It starts up to a state where I can hit the menu and start opening things very quickly, but isn&#x27;t completely finished for another couple seconds. Atom&#x27;s in a very similar boat.<p>I&#x27;m glad to see progress being made here.
_arvinabout 8 years ago
Great article. Avid ST3 user here, but glad to hear about the improvements.<p>For anyone curious, I made a quick gif comparing startup times on my machine for Sublime Text 3 (Build 3129), Atom (1.16.0), Atom Beta (1.17.0-beta2, the one mentioned here), VSCode (1.11.2), and VSCode Insiders (1.12)<p><a href="https:&#x2F;&#x2F;media.giphy.com&#x2F;media&#x2F;3ohzdTHkfj5ISAAPq8&#x2F;source.gif" rel="nofollow">https:&#x2F;&#x2F;media.giphy.com&#x2F;media&#x2F;3ohzdTHkfj5ISAAPq8&#x2F;source.gif</a><p>I should mention - my ST3 is heavily customized (28 plugins), while Atom and VSCode are absolute stock.
评论 #14142103 未加载
评论 #14143062 未加载
rattrayabout 8 years ago
&gt; Overall, on a stock installation, we made loading Atom almost <i>50% faster</i> and snapshots were a crucial tool that enabled some otherwise impossible optimizations.<p>Note that this hasn&#x27;t shipped on stable yet, but is available on 1.17 beta.<p>The article mostly lists the various problems and associated optimizations. Concise &amp; nice read.
rektideabout 8 years ago
Google long ago released Snappy Start, a tool for snapshotting processes, saving the full state to disk, so new instances can be launched faster. This is a more general Checkpoint-Restore capability than V8&#x27;s impl and a bit different, but definitely somewhere in the same field of computer technology.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;snappy-start" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;snappy-start</a>
评论 #14141441 未加载
cschmidtabout 8 years ago
Emacs does a similar thing for startup time with dumping:<p>The Emacs dumper dispute <a href="https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;707615&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lwn.net&#x2F;Articles&#x2F;707615&#x2F;</a>
patrickg_zillabout 8 years ago
Funny how everything old is new again. Dumping an image, something seen with Emacs, and with SmallTalk and LISP languages since before Emacs was derided as &quot;eight megs and constantly swapping&quot; :)
rawlandabout 8 years ago
Unfortunately Atom is not on par with VSCode considering responsiveness.<p>There are a few more issues, <i>Emanuel Quimper</i> summarized in: <a href="https:&#x2F;&#x2F;equimper.github.io&#x2F;2017&#x2F;02&#x2F;25&#x2F;why-i-moved-away-from-atom-to-visual-studio-code-and-my-setup&#x2F;" rel="nofollow">https:&#x2F;&#x2F;equimper.github.io&#x2F;2017&#x2F;02&#x2F;25&#x2F;why-i-moved-away-from-...</a> explaining why he moved from Atom to VSCode in detail.<p>A month ago there was an interesting submission in favor of Sublime Text 3. Mainly because of its incredible responsiveness: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13928752" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13928752</a> by <i>Tristan Hume</i>, comparing Vim, Spacemacs, Atom and Sublime Text. I highly recommend it.<p>My workflow now looks like this: VSCode+Plugins replaces my zsh+tmux+vim toolchain when running on AC. On battery zsh+tmux+vim provide VSCode+Plugins functionality with less beautiful gfx but unmatchable battery lifetime.<p>The zsh+tmux+vim toolchain is heavily customized, though: <a href="https:&#x2F;&#x2F;github.com&#x2F;rscircus&#x2F;dotfiles" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rscircus&#x2F;dotfiles</a>
pducks32about 8 years ago
I love it when new problems can be solved in old ways. In physics we say there aren&#x27;t 10,000 problems there are just 10,000 manifestations of 5. And it really seems like that&#x27;s true here. Maybe we should stop laying off people for being old lol.
评论 #14142978 未加载
agentultraabout 8 years ago
Interesting! Image-based development is actually really useful for many applications. It would be interesting to see V8 support this more generally. It&#x27;s something I quite like about CL and Smalltalk systems.
footaabout 8 years ago
From the article it sounds like they&#x27;re basing these tests off probably their dev machines. Seems like they should be trying this out on slower machines.
评论 #14141199 未加载
alfonsodevabout 8 years ago
From the article, they have the electron-link[1] module that anyone can use in a electron app to get the same functionality working. Not sure how it plays with webpcack.<p>[1]<a href="https:&#x2F;&#x2F;github.com&#x2F;atom&#x2F;electron-link" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;atom&#x2F;electron-link</a>
z3t4about 8 years ago
Minifying the code can also speed up the startup time ... Another trick is to auto-start the app and bring it to the background (invisible). Then when the user &quot;starts&quot; it, just make it visible.
评论 #14146433 未加载
CJeffersonabout 8 years ago
I wish atom would just add preloading. I be happy to always have a hidden, sleeping window ready to pop to front on request. There must be some reason this is harder than I imagine...
评论 #14141250 未加载
rcfoxabout 8 years ago
Oh man, I wish I could use snapshots in the browser. In some extreme cases, I&#x27;m dealing with multi-minute startup times.
评论 #14140829 未加载
评论 #14140674 未加载
penagwinabout 8 years ago
I started this issue a long time ago, and it&#x27;s been frozen since: <a href="https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;3041" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;3041</a><p>Maybe now we can have actual source code protection?
评论 #14141887 未加载
评论 #14141132 未加载
评论 #14141309 未加载
iynereabout 8 years ago
just tried the beta its still pretty slow :(
评论 #14141072 未加载
madamelicabout 8 years ago
Or you can not have a text editor in a browser. :)<p>Cool article regardless
评论 #14140634 未加载
chrshawkesabout 8 years ago
I thought everybody moved over to Visual Studio Code by now.