Forum

Er 8 GB RAM nok til programmering?

imakedonsk

Original plakat
10. oktober 2015
Brno, CZ
  • 15. desember 2018
Hei der.

Jeg vurderer seriøst å skaffe meg en MacBook Pro 13' 2018. Den primære bruken av den bærbare datamaskinen vil være for koding (front-end webutvikling), men jeg vil gjerne dykke inn i iOS-apputvikling senere. Med det sagt, er 8 GB RAM nok til å kjøre XCODE, eller bør jeg investere litt mer for å få 16 GB-versjonen?

revmacian

20. oktober 2018


BRUKER
  • 15. desember 2018
iMacedonian sa: Hei der.

Jeg vurderer seriøst å skaffe meg en MacBook Pro 13' 2018. Den primære bruken av den bærbare datamaskinen vil være for koding (front-end webutvikling), men jeg vil gjerne dykke inn i iOS-apputvikling senere. Med det sagt, er 8 GB RAM nok til å kjøre XCODE, eller bør jeg investere litt mer for å få 16 GB-versjonen?
Jeg kjører Xcode på min 2014 Mac mini - den har 4 GB RAM og jeg ser ingen problemer. Det vil være noen som vil fortelle deg at 16 GB eller mer RAM er et must, men jeg har sett at dette rett og slett ikke er sant.
Reaksjoner:jeremiah256, racerhomie, BigMcGuire og 1 annen person

Emanuel rodriguez

17. oktober 2018
  • 15. desember 2018
revmacian sa: Jeg kjører Xcode på min 2014 Mac mini - den har 4 GB RAM og jeg ser ingen problemer. Det vil være noen som vil fortelle deg at 16 GB eller mer RAM er et must, men jeg har sett at dette rett og slett ikke er sant.
Avtalt. Jeg har funnet ut at til og med en Raspberry Pi med sin eneste gig med RAM er i stand til å kompilere det meste. Hvis et prosjekt har massevis av C++-kode (ser på deg LLVM), eller andre komplekse språk (som krever at kompilatoren jobber hardt, og dermed bruker mer RAM), så kan det vanligvis ikke administrere det. Ser ut til at rundt 3 GB er et trygt minimum for utviklingsarbeid, etter min erfaring.

EDIT: Men husk at dette var 3 GB inne i en VM, uten en GUI. Alternativet på 8 GB er definitivt trygt for nå. Jeg vil imidlertid anbefale 16 GB bare for fremtidssikring. 8 GB begynner å bli mindre behagelig enn tidligere. Sist redigert: 15. desember 2018
Reaksjoner:BigMcGuire, jaduff46 og iMacedonian TIL

ammulder

18. desember 2015
  • 16. desember 2018
Hvor lenge har du tenkt å beholde maskinen? Siden minnet ikke kan oppgraderes, kjøper du egentlig for hvor mye minne du trenger om 3-5 år, ikke i dag. (Med tanke på at hver utgivelse av utviklingsverktøy bruker mer minne enn den forrige.) Spesielt hvis du ender opp med å bruke containere eller VM-er (f.eks. for å kjøre en lokal versjon av en eller annen back-end som appen din kobles til), vil produktivitetstreffet til for lite minne senere er ikke verdt kostnadsbesparelsene nå.
Reaksjoner:jeremiah256, racerhomie, iMacedonian og 1 annen person

dogslobber

19. oktober 2014
Apple Campus, Cupertino, CA
  • 16. desember 2018
Husk programmering i 4K tilbake i 1976.
Reaksjoner:PhilMacbook

960 design

17. april 2012
Destiny, FL
  • 17. desember 2018
iMacedonian sa: Hei der.

Jeg vurderer seriøst å skaffe meg en MacBook Pro 13' 2018. Den primære bruken av den bærbare datamaskinen vil være for koding (front-end webutvikling), men jeg vil gjerne dykke inn i iOS-apputvikling senere. Med det sagt, er 8 GB RAM nok til å kjøre XCODE, eller bør jeg investere litt mer for å få 16 GB-versjonen?
8GB er nok, jeg bruker en 16GB MBPr og ser sjelden at minnetrykket hopper over 8GB.

Som en side, sjekk inn på Expo.io ( https://expo.io/ ). Det er det alle de kule barna bruker i disse dager (så mye enklere å distribuere på flere plattformer). Advarsel: vil fungere for de fleste apper, men noen har spesifikke maskinvarekrav/behov som expo ikke vil oppfylle. Likevel et fantastisk utgangspunkt.
Reaksjoner:imakedonsk J

jtara

23. april 2009
  • 17. desember 2018
Definer hva du mener med 'nok'?

Mener du 'nok til at byggverk ikke svikter?'

Eller 'nok til at bygningene er fullført i en akseptabel tidsramme'?

Og/eller 'nok til at brukergrensesnittet ikke er laggy, og jeg kan jobbe i en editor/surfe på nettet/lese e-post under en bygging uten treghet?

Det avhenger av dine forventninger og verktøykjeden din.

Frontend-utvikling har typisk en kort/enkel verktøykjede. Alt du egentlig trenger er en god editor som passer for oppgaven, en liten 'leketøy'-nettserver, kanskje noen verktøy for å forminske Javascript/CSS (og kanskje en Sass-kompilator) for produksjonsbygg, og under utvikling vil du vanligvis ikke engang bruke at.

Backend-utvikling trenger ofte ikke mer enn front-end-utvikling. Eller trenger kanskje litt mer. For eksempel bruker jeg PostgreSQL som database. Så jeg har en lokal instans for utvikling/test. Jeg kjører pgAdmin4, som kjører i en Docker-beholder. Du må kanskje kjøre en VM som replikerer backend-miljøet ditt. GB legger opp.

Native app-utvikling gjøres ofte med minimale verktøy. For grunnleggende iOS-apputvikling trenger du ikke noe mer enn Xcode. OK, og iOS-simulatoren. Hvis du driver med en slags hybrid utvikling på tvers av plattformer, kan du sannsynligvis legge til flere verktøykjedekomponenter - og nødvendigvis Android SDK-er og byggeverktøy. Android-utvikling bruker en annen kompilator. Legg til en ny simulator. (Jeg bruker GenyMotion, siden begge tilnærmingene levert av Google er trege som melasse.) Enhver anstendig Android-simulator kjører i en VM.

Å, trenger du å teste den nettsiden på Windows? Legg til en Windows VM.

Så mange verktøy i dag kjører i en container eller en VM. Det øker minnekravet.

Få så mye minne som budsjettet ditt tåler. Jeg tror imidlertid at 64 GB er den praktiske grensen i dag for de fleste utviklinger. Jeg har nylig fått en iMac Pro med 64 GB for utvikling. Jeg bruker et stort verktøysett. Jeg har sjekket Activity Monitor, og jeg finner ut at jeg ikke har brukt en byttefil ennå. Men når alle verktøyene er lastet opp, bruker jeg et sted mellom 32 GB og 64 GB, vanligvis 40-50 GB. Men jeg har faktisk ikke fått lastet ned ALT på en gang enda.

Det du må spørre deg selv er:

– Er det viktig for systemet å være responsivt mens man bygger?
– Hvor lang byggesyklus er du villig til å tåle?

I frontend-utvikling har du vanligvis ikke en 'byggesyklus', det vil si å bygge/teste/repetere. Hvor lenge er du villig til å vente for å finne ut at du har gjort en enkel feil som vil ta noen sekunder å rette opp? 15 minutter? 5 minutter? 1 minutt? 30 sekunder?

I apputvikling ved bruk av et kompilert språk har du alltid en byggesyklus, og den kan være betydelig. Jeg forstår at Swift byggesyklus er vesentlig lengre enn Objective-C byggesyklus. (Jeg bruker ikke Swift selv, fordi jeg driver med hybridutvikling, og den underliggende plattformkoden er i Objective-C (Java for Android), C og C++ - ingen Swift).

Mengden tilgjengelig RAM vil ha en betydelig innvirkning på byggesyklustiden.
Reaksjoner:tegranjeet, quietstormSD, Anony-mouse og 1 annen person M

mpe

3. september 2010
  • 17. desember 2018
32 GB iMac Pro-bruker her.

Ja. 8GB RAM er nok til det meste.
Reaksjoner:imakedonsk J

jtara

23. april 2009
  • 17. desember 2018
mpe sa: Ja. 8GB RAM er nok til det meste.

Bruker MacBook Pro systemminne for skjermen?

8GB er sikkert ikke nok på - for eksempel - en Mac Mini, da en ganske god del (avhengig av modell) av det brukes til skjermen.

Den viktigste tilbakemeldingen som gis her er at på nyere MacBook er minnet loddet ned. Du tar en avgjørelse for de neste årene.
Reaksjoner:imakedonsk

Toutou

til
6. januar 2015
Praha, Tsjekkia
  • 17. desember 2018
Hvis du er på et budsjett (og det er ingen skam i det), vil 8 spillejobber være nok. Mens noen utviklingsverktøy er ganske RAM-tunge (*hoste* Android Studio *hoste*), er min 4 gig 2013 Pro fortsatt brukbar. Og min arbeidsutstedte ThinkPad som jeg driver med Rails-utvikling på (i RubyMine, i Linux) fungerer som en sjarm med 8 spillejobber.
Reaksjoner:imakedonsk

imakedonsk

Original plakat
10. oktober 2015
Brno, CZ
  • 17. desember 2018
jtara sa: Definer hva du mener med 'nok'?

Mener du 'nok til at byggverk ikke svikter?'

Eller 'nok til at bygningene er fullført i en akseptabel tidsramme'?

Og/eller 'nok til at brukergrensesnittet ikke er laggy, og jeg kan jobbe i en editor/surfe på nettet/lese e-post under en bygging uten treghet?

Det avhenger av dine forventninger og verktøykjeden din.

Frontend-utvikling har typisk en kort/enkel verktøykjede. Alt du egentlig trenger er en god editor som passer for oppgaven, en liten 'leketøy'-nettserver, kanskje noen verktøy for å forminske Javascript/CSS (og kanskje en Sass-kompilator) for produksjonsbygg, og under utvikling vil du vanligvis ikke engang bruke at.

Backend-utvikling trenger ofte ikke mer enn front-end-utvikling. Eller trenger kanskje litt mer. For eksempel bruker jeg PostgreSQL som database. Så jeg har en lokal instans for utvikling/test. Jeg kjører pgAdmin4, som kjører i en Docker-beholder. Du må kanskje kjøre en VM som replikerer backend-miljøet ditt. GB legger opp.

Native app-utvikling gjøres ofte med minimale verktøy. For grunnleggende iOS-apputvikling trenger du ikke noe mer enn Xcode. OK, og iOS-simulatoren. Hvis du driver med en slags hybrid utvikling på tvers av plattformer, kan du sannsynligvis legge til flere verktøykjedekomponenter - og nødvendigvis Android SDK-er og byggeverktøy. Android-utvikling bruker en annen kompilator. Legg til en ny simulator. (Jeg bruker GenyMotion, siden begge tilnærmingene levert av Google er trege som melasse.) Enhver anstendig Android-simulator kjører i en VM.

Å, trenger du å teste den nettsiden på Windows? Legg til en Windows VM.

Så mange verktøy i dag kjører i en container eller en VM. Det øker minnekravet.

Få så mye minne som budsjettet ditt tåler. Jeg tror imidlertid at 64 GB er den praktiske grensen i dag for de fleste utviklinger. Jeg har nylig fått en iMac Pro med 64 GB for utvikling. Jeg bruker et stort verktøysett. Jeg har sjekket Activity Monitor, og jeg finner ut at jeg ikke har brukt en byttefil ennå. Men når alle verktøyene er lastet opp, bruker jeg et sted mellom 32 GB og 64 GB, vanligvis 40-50 GB. Men jeg har faktisk ikke fått lastet ned ALT på en gang enda.

Det du må spørre deg selv er:

– Er det viktig for systemet å være responsivt mens man bygger?
– Hvor lang byggesyklus er du villig til å tåle?

I frontend-utvikling har du vanligvis ikke en 'byggesyklus', det vil si å bygge/teste/repetere. Hvor lenge er du villig til å vente for å finne ut at du har gjort en enkel feil som vil ta noen sekunder å rette opp? 15 minutter? 5 minutter? 1 minutt? 30 sekunder?

I apputvikling ved bruk av et kompilert språk har du alltid en byggesyklus, og den kan være betydelig. Jeg forstår at Swift byggesyklus er vesentlig lengre enn Objective-C byggesyklus. (Jeg bruker ikke Swift selv, fordi jeg driver med hybridutvikling, og den underliggende plattformkoden er i Objective-C (Java for Android), C og C++ - ingen Swift).

Mengden tilgjengelig RAM vil ha en betydelig innvirkning på byggesyklustiden.
Takk for det omfattende svaret, det ga meg et bedre perspektiv på ressursene som trengs for disse forskjellige kodescenarioene du har nevnt.
[doublepost=1545084766][/doublepost]
ammulder sa: Hvor lenge har du tenkt å beholde maskinen? Siden minnet ikke kan oppgraderes, kjøper du egentlig for hvor mye minne du trenger om 3-5 år, ikke i dag. (Med tanke på at hver utgivelse av utviklingsverktøy bruker mer minne enn den forrige.) Spesielt hvis du ender opp med å bruke containere eller VM-er (f.eks. for å kjøre en lokal versjon av en eller annen back-end som appen din kobles til), vil produktivitetstreffet til for lite minne senere er ikke verdt kostnadsbesparelsene nå.
Mine bærbare datamaskiner varer vanligvis i 4-6 år, eller enda mer, så basert på det jeg har lest så langt, vil det kanskje være best å få 16 GB-versjonen hvis jeg vil maksimere bruken. TIL

Anonym-mus

25. august 2016
  • 17. desember 2018
jtara sa: Definer hva du mener med 'nok'?

(klipp)

Så mange verktøy i dag kjører i en container eller en VM. Det øker minnekravet.

Få så mye minne som budsjettet ditt tåler. Jeg tror imidlertid at 64 GB er den praktiske grensen i dag for de fleste utviklinger. Jeg har nylig fått en iMac Pro med 64 GB for utvikling. Jeg bruker et stort verktøysett. Jeg har sjekket Activity Monitor, og jeg finner ut at jeg ikke har brukt en byttefil ennå. Men når alle verktøyene er lastet opp, bruker jeg et sted mellom 32 GB og 64 GB, vanligvis 40-50 GB. Men jeg har faktisk ikke fått lastet ned ALT på en gang enda.

Det du må spørre deg selv er:

– Er det viktig for systemet å være responsivt mens man bygger?
– Hvor lang byggesyklus er du villig til å tåle?

I frontend-utvikling har du vanligvis ikke en 'byggesyklus', det vil si å bygge/teste/repetere. Hvor lenge er du villig til å vente for å finne ut at du har gjort en enkel feil som vil ta noen sekunder å rette opp? 15 minutter? 5 minutter? 1 minutt? 30 sekunder?

I apputvikling ved bruk av et kompilert språk har du alltid en byggesyklus, og den kan være betydelig. Jeg forstår at Swift byggesyklus er vesentlig lengre enn Objective-C byggesyklus. (Jeg bruker ikke Swift selv, fordi jeg driver med hybridutvikling, og den underliggende plattformkoden er i Objective-C (Java for Android), C og C++ - ingen Swift).

Mengden tilgjengelig RAM vil ha en betydelig innvirkning på byggesyklustiden.

Dette oppsummerer det ganske mye. Hvis du trenger å kjøre VM-er, er 8 GB mulig (du kan kjøre én VM komfortabelt i 8 GB RAM). Hvis du har en SSD, vil hastighetsforskjellen mellom å ha 8 GB vs. mer RAM ikke være særlig tydelig med mindre du kjører et stort antall VM-er og/eller prøver å kompilere en enorm kodebase. C

Konstruere

23. juni 2010
  • 17. desember 2018
Forskjellen mellom en 8GB-maskin og en 16GB-maskin er at du til tider må ta bevisste avgjørelser om hvilke minnekrevende apper du skal ha i forgrunnen.

Minnekrevende apper som XCode og Android Studio vil klare seg fint på 8 GB. Problemet ville komme hvis du prøvde å kjøre Slack koblet til flere grupper, mens du lar Chrome være åpen med mange faner, eller kanskje et VM-system for å kjøre noen Docker-beholdere. Det er samtidigheten som forårsaker problemene.

Hvis du har råd til å hoppe til 16 GB og du planlegger å beholde denne maskinen en stund, tror jeg det er verdt det for fremtidssikring. Hvis den ekstra kostnaden er nok til å få deg til å tenke to ganger, så glem det og bare gjør 8 GB. Du vil være fornøyd uansett.
Reaksjoner:Anonym-mus

revmacian

20. oktober 2018
BRUKER
  • 17. desember 2018
jtara sa: 8GB er sikkert ikke nok på - for eksempel - en Mac Mini, da en ganske god del (avhengig av modell) av det brukes til skjermen.

Som jeg sa tidligere, kjører jeg Xcode på min 2014 Mac mini - den har 4 GB RAM og jeg ser ingen problemer. Hvis jeg kan kode komfortabelt med 4GB, så er 8GB nok. J

jtara

23. april 2009
  • 30. desember 2018
kadammanali987 sa: (Folk beholder ofte applikasjoner for å kompilere og spille spill til den tiden. Dette bremser behandlingen)

Eller du kan bare øke hastigheten på kompilerings-link-kjør-syklusen til det punktet hvor det ikke tar mer enn en sunn komme-rumpa-ut-av-stolen i et par minutter.

En del av det er å ha nok minne til at kompilatoren kan fungere effektivt, med minimalt/ingen bytte.

At du KAN betyr ikke at du BØR. Du må bestemme hvor verdifull tiden din er.

Det avgjørende øyeblikket for denne ligningen for meg var for mange, mange år siden. Et produkt kalt Instant-C. Det reduserte syklusen fra flere minutter til flere sekunder. Det inspirerte meg til å redusere en kompilerings-link-kjør-syklus for en applikasjon som simulerer og analyserer variasjoner (fra en modell, opprinnelig skrevet i Fortran) i mekaniske sammenstillinger fra 1/2 time til mindre enn et minutt. (OK, jeg jukset - jeg fjernet kompilerings-link-kjør-syklusen... ved å skrive en domenespesifikk kompilator og ledsagerbytekode-tolk) 35 år senere er det fortsatt den dominerende løsningen for det domenet.

Uansett, OP tok sin avgjørelse - jeg tror en klok en.

Forresten, hvis jeg fortsatt brukte min 2012 i7 Mini for builds, ville jeg brukt en Ramdisk. Det halverer byggetiden for meg omtrent på Mini. Jeg prøvde det på min nye iMac Pro, men hadde ikke samme effekt. Jeg er redd jeg ikke tenkte på å prøve ramdisken før jeg fikk iMac Pro. MacOS har egentlig ikke gode RamDisk-løsninger. Mini har 16 GB. Det er ingen margin for en ramdisk på en maskin med 4GB. (iMac Pro har 64 GB).

vbctv

til
25. september 2013
Cleveland, OH
  • 2. mai 2019
jtara sa: Bruker MacBook Pro systemminne for skjermen?

8GB er sikkert ikke nok på - for eksempel - en Mac Mini, da en ganske god del (avhengig av modell) av det brukes til skjermen.

Den viktigste tilbakemeldingen som gis her er at på nyere MacBook er minnet loddet ned. Du tar en avgjørelse for de neste årene.

Jeg har en 2018 mac Mini koblet til 2 skjermer og har 8 GB RAM, jeg ser aldri noen problemer og gjør både Android Studio og Xcode utviklingsarbeid pluss kjøre MAMP Pro i bakgrunnen. Minnetrykkmonitoren går aldri opp og forblir alltid grønn og lav. Jeg har diskutert en oppgradering til 16 GB, men jeg ser egentlig ikke noe behov med mindre jeg finner en kjempedeal på salg.... C

ChromeCloud

21. juni 2009
Italia
  • 2. mai 2019
Jeg synes de fleste svarene så langt var misvisende.

Når jeg prøver å bruke MacBook Air med 4 GB RAM for å utvikle iOS-apper (jeg snakker om ekte apper, ikke bare små demoprosjekter), blir opplevelsen ganske frustrerende veldig fort. Bare å åpne Xcode og Safari med 3 eller 4 faner vil fullstendig mette RAM-en din (husk at systemet i seg selv tar ca. 2 GB) og å bruke simulatoren til å feilsøke appene dine er ganske umulig (datamaskinen bremser ned til det punktet at den ikke reagerer).

Med 8 GB går det bra. Men ikke lenge. La oss si at 8 GB er minimum for å kjøre komfortabelt hele iOS-utviklingspakken + et par apper på siden hvis du vil ha som en fancy tekstredigerer eller noen verktøy for å lage vektorgrafikk for eksempel.

Så hvis jeg måtte kjøpe en ny maskin nå og beholde den i de neste 3 årene eller mer, ville jeg fått minst 16 GB RAM.

Et annet advarselsord: Jeg ville aldri ha forutsett dette for noen år siden da jeg kjøpte min iMac (som har 32 GB RAM og det er hovedarbeidsstasjonen min), men det ser ut som om du vil kjøre simulatoren uten at hele GUI-en stammer, VRAM (aka videominne) spiller også en viktig rolle i ligningen.

For en retina iMac vil ikke et 2GB skjermkort være nok til å kjøre alt jevnt: med noen sekunders mellomrom blir bufferen full (men jeg opplever dette bare mens du kjører simulatoren) og iMac fryser i en brøkdel av et sekund mens den blir tømt og fylt igjen. Det er superirriterende.

Så min anbefaling for noe du kan jobbe komfortabelt med de neste 3 årene er: 16 GB RAM (eller mer) + 4 GB VRAM (eller mer) .
Reaksjoner:Emanuel rodriguez M

mkelly

29. november 2007
  • 3. mai 2019
8 GB er nok for i dag, så lenge du ikke kjører virtuelle maskiner. 16 GB er sannsynligvis sweet spot hvis du ser på den bærbare datamaskinen som varer i 4-6 år. 32/64 GB er overkill med mindre du kjører mange VM-er samtidig, eller har penger å brenne. M

folkemengder

12. februar 2019
  • 4. mai 2019
Xcode er tungt på CPU mindre på RAM. Jeg har nettopp kjøpt en Mac mini 2018 i7 6-kjerner, og når jeg kompilerer iOS og Swift i Xcode, går CPU-en i aktivitetsmonitoren til 90 %!
I samme applikasjon kan jeg se at RAM-bruken er under 8 GB uten bytte. For senere tenker jeg på å oppdatere RAM, men jeg har ikke hastverk for øyeblikket. F

Filipeteixeira

10. april 2013
  • 6. mai 2019
Det burde være mer enn nok. Ofte er det bare et problem når du jobber med språk som R eller så. Fordi disse språkene ofte har en tendens til å laste alt inn i minnet, noe som betyr at med store datasett, jo mer RAM du har, jo bedre vil det yte.