Github sætter turbo på Atom-editor

Atom
Letvægtseditoren Atom får bedre ydelse med buffer i C++ og hurtigere brugerflade.

Kodeværktøjet Atom, som har været kritiseret for at være sløvt i optrækket, kommer i ny og hurtigere version.

Programmets tekstbuffer er nu skrevet i C++, og brugerfladen har også fået en opstramning med bedre hastighed til følge.

Læs også: 3 gratis cross-platform kodeeditorer: Atom, Brackets og VSCode

»Når man gemmer filer, sker det asynkront uden at blokere brugerfladen, så man nemt kan gå fra en opgave til den næste,« siger Ian Olsen fra Github til Infoworld.

Samtidig skæres der i den mængde hukommelse, som store filer kræver.

Det er kodelageret Github, der står bag editoren, der også byder på integration med sitets funktioner til versionsstyring.

Atom bygger på Electron-platformen, som benytter Node.js og Googles open source-browser Chromium til brugerflade. Programmet kan understøtte en lang række gængse sprog via plugins.

Den nye version har nummeret 1.19, og 1.20 er allerede på vej i beta-udgave.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk

Følg forløbet

Kommentarer (13)

Kommentarer (13)
Jacob Gorm Hansen

Jeg har ikke proevet Atom, det virker ret vildt at async saving skulle goere nogen forskel i daglig brug, medmindre man ofte gemmer til en floppydisk. Det heller ikke saerligt betryggende at taenke paa, at filer man tror man har gemt til disk, bare bliver sat i en koe til maaske at blive gemt hen ad vejen.

Mark Klitgaard

Jeg har ikke proevet Atom, det virker ret vildt at async saving skulle goere nogen forskel i daglig brug, medmindre man ofte gemmer til en floppydisk. Det heller ikke saerligt betryggende at taenke paa, at filer man tror man har gemt til disk, bare bliver sat i en koe til maaske at blive gemt hen ad vejen.

Det er meget almindelig praksis nu til dags, alle programmer hvor du kan trykke gem og skrive videre med det samme benytter formentlig en eller anden form for async gemme funktion.

Dertil ved jeg ikke hvor du får kø fra, eftersom det eneste der står i artiklen er at "Når man gemmer filer, sker det asynkront uden at blokere brugerfladen", og det forstår jeg som at den bare bruger en background worker thread til at gemme i stedet for at gøre det på main thread'en.

Jacob Gorm Hansen

Hvis der er en baggrundstraad per fil, er der en koe af traade i operativsystemets scheduler, og hvis der kun er en enkelt traad til flere filer, er der er koe af filer paa traaden. Selv hvis flere traade koerer parallelt, vil de ende i en koe bag en semafor eller lign., for at kunne komme til at skrive til disken.

Jeg foeler mig ikke overbevist om at async saving er standard praksis i "alle programmer", f.eks. er det ikke min opfattelse at hverken VIM eller EMACS benytter dette. Jeg har ogsaa stadig svaert ved at fatte, hvorfor det dog skulle vaere noedvendigt. Hvis vi antager, at man vil gemme en stor tekstfil paa 1MB paa en harddisk der kan overfoere 100MB/s, og at det tager 10ms at positionere soegehovedet for at starte skrivingen, og yderligere 10ms for at soege tilbage til og rette noget metadata, burde det max tage 30ms at gemme hele filen, selv uden at antage at OS'et eller disken bruger write buffering og/eller write-back caching, eller for den sags skyld at der er tale om en SSD som kan soege/skrive endnu hurtigere.

Mark Klitgaard

Eftersom de gør det for at undgå "at blokere brugerfladen" så er det vist sikkert at antage der er nødvendigt i dette tilfælde.

Ift som du selv nævner VIM og EMACS, så tænkte jeg mere på Word, Visual Studio, IntelliJ osv., da jeg vil vove at sige VIM og EMACS lidt er i en kategori for sig selv.

Til din udregning ang. tid det vil tage, så skal der også medregnes tid der kan bruges på at få en write lock på filen.

Jacob Gorm Hansen

"""The culprit in this particular situation was the Syntastic plugin.

It's forking eslint.

I load Syntastic on entering insert mode (using a vim-plug function loader).

Vim is plenty snappy on its own."""

Med andre ord, det er kun langsomt, hvis der er noget andet galt. Loesningen er ikke at lave en ny traad for at skjule problemet, loesningen er at loese problemet. Det det som Elon Musk kalder "from first principles."

Der grundlaeggende to slags programmoerer, dem der laver progress bars, og dem der laver hurtig kode.

Morten Sørensen

Nu er det jo ikke helt hastigheden når man gemmer en fil, der er hemskoen ved Atom. Og ret skal være ret, Atom er en fed editor, der kan customizes i ét væk, hvilket er dejligt for en som mig. Men grunden til at jeg stadig bruger Sublime Text er, at Atom simpelthen er for langsom i opstarten.

Ja, man kan pille under hjelmen og disable ting man ikke bruger, f.eks. kun loade de sprog-syntaxer man har brug for. Men det er bare ikke nok.

Hvad hvis min fil ligger på en ftp-server?


Then you're doing it wrong. Hav altid dit projekt liggende lokalt, så du fanger fejl inden det bliver lagt ud live.

Jesper Sørensen

Og hvad så når jeg har overvejet det, og at det i den givne situation er den bedste løsning?

Når fællesskabet for danske fodboldgolfentusiaster ringer til mig og spørger om jeg vil skifte tre linjer tekst på deres hjemmeside der består af 5 filer som ligger på en billig shared host.

Er det så ikke rart at atom bare virker i stedet for at fryse i et sekund?

Jeg synes det er arrogant og lettere virkelighedsfjernt mene at jeg bare bør overveje hvad jeg laver, at der findes to slags programmører etc.

Jeg mener de dygtigste programmører er dem der løser det givne problem på den bedste måde, om det så er at optimere koden til døde eller at implementere en loadbar.

Stig Christensen

I dette tilfælde er jeg ret sikker på at async saving kun betyder at UI tråden ikke venter på (og dermed låser) at hele filen er sendt og flushed til disken. Så rent faktisk bliver filen skrevet til disken præcis lige så hurtigt som uden. Det betyder blot at UI føles mere behageligt. Jeg ved så ikke om de har lavet en indikator som viser hvornår filen er på disken.

Log ind eller opret en konto for at skrive kommentarer

Pressemeddelelser

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017

Affecto has the solution and the tools you need

According to GDPR, you are required to be in control of all of your personally identifiable and sensitive data. There are only a few software tools on the market to support this requirement today.
13. sep 2017

Xena - an innovative force in testing next-generation communications technology

22. aug 2017