Forum

Räcker 8 GB RAM för programmering?

iMakedonska

Originalaffisch
10 oktober 2015
Brno, CZ
  • 15 december 2018
Hallå där.

Jag överväger allvarligt att skaffa en MacBook Pro 13' 2018. Den bärbara datorns primära användning skulle vara för kodning (front-end webbutveckling) men jag skulle vilja dyka in i iOS-apputveckling senare. Med det sagt, räcker det med 8 GB RAM för att köra XCODE eller borde jag investera lite mer för att få 16 GB-versionen?

revmacian

20 oktober 2018


ANVÄNDNINGAR
  • 15 december 2018
iMacedonian sa: Hej där.

Jag överväger allvarligt att skaffa en MacBook Pro 13' 2018. Den bärbara datorns primära användning skulle vara för kodning (front-end webbutveckling) men jag skulle vilja dyka in i iOS-apputveckling senare. Med det sagt, räcker det med 8 GB RAM för att köra XCODE eller borde jag investera lite mer för att få 16 GB-versionen?
Jag kör Xcode på min 2014 Mac mini - den har 4 GB RAM och jag ser inga problem. Det kommer att finnas några människor som kommer att säga att 16 GB eller mer RAM är ett måste, men jag har sett att detta helt enkelt inte är sant.
Reaktioner:jeremiah256, racerhomie, BigMcGuire och 1 annan person

Emanuel rodriguez

17 oktober 2018
  • 15 december 2018
revmacian sa: Jag kör Xcode på min 2014 Mac mini - den har 4 GB RAM och jag ser inga problem. Det kommer att finnas några människor som kommer att säga att 16 GB eller mer RAM är ett måste, men jag har sett att detta helt enkelt inte är sant.
Gick med på. Jag har upptäckt att även en Raspberry Pi med sin enda spelning av RAM är kapabel att kompilera det mesta. Om ett projekt har massor av C++-kod (tittar på dig LLVM), eller andra komplexa språk (som kräver att kompilatorn jobbar hårt och därför använder mer RAM), så kan det i allmänhet inte hantera det. Verkar runt 3 GB är ett säkert minimum för utvecklingsarbete, enligt min erfarenhet.

EDIT: Men kom ihåg att detta var 3 GB inuti en virtuell dator, utan ett GUI. 8GB-alternativet är definitivt säkert för nu. Jag skulle dock rekommendera 16 GB bara för framtidssäkring. 8GB börjar bli mindre bekvämt än tidigare. Senast redigerad: 15 december 2018
Reaktioner:BigMcGuire, jaduff46 och iMacedonian TILL

ammulder

18 december 2015
  • 16 december 2018
Hur länge planerar du att behålla maskinen? Eftersom minnet inte går att uppgradera köper du verkligen för hur mycket minne du behöver om 3-5 år, inte idag. (Med tanke på att varje utgåva av utvecklingsverktyg använder mer minne än den förra.) Särskilt om du slutar använda behållare eller virtuella datorer (t.ex. för att köra en lokal version av någon back-end som din app ansluter till), blir produktivitetsträffen för för lite minne senare är inte värt kostnadsbesparingarna nu.
Reaktioner:jeremiah256, racerhomie, iMacedonian och 1 annan person

dogslobber

19 oktober 2014
Apple Campus, Cupertino, CA
  • 16 december 2018
Kom ihåg programmering i 4K redan 1976.
Reaktioner:PhilMacbook

960 design

17 april 2012
Destiny, FL
  • 17 december 2018
iMacedonian sa: Hej där.

Jag överväger allvarligt att skaffa en MacBook Pro 13' 2018. Den bärbara datorns primära användning skulle vara för kodning (front-end webbutveckling) men jag skulle vilja dyka in i iOS-apputveckling senare. Med det sagt, räcker det med 8 GB RAM för att köra XCODE eller borde jag investera lite mer för att få 16 GB-versionen?
8GB är gott, jag använder en 16GB MBPr och ser sällan minnestrycket hoppa över 8GB.

Kolla in på Expo.io ( https://expo.io/ ). Det är vad alla coola barn använder nu för tiden (så mycket lättare att distribuera på flera plattformar). Varning: kommer att fungera för de flesta appar, men vissa har specifika hårdvarukrav/behov som expo inte kommer att uppfylla. Ändå en fantastisk startplats.
Reaktioner:iMakedonska J

jtara

23 april 2009
  • 17 december 2018
Definiera vad du menar med 'tillräckligt'?

Menar du 'tillräckligt så att konstruktioner inte misslyckas?'

Eller 'tillräckligt för att bygga färdigt inom en acceptabel tidsram'?

Och/eller 'tillräckligt så att användargränssnittet inte är laggy, och jag kan arbeta i en editor/surfa på webben/läsa e-post under ett bygge utan tröghet?

Det beror på dina förväntningar och din verktygskedja.

Frontend-utveckling har vanligtvis en kort/enkel verktygskedja. Allt du egentligen behöver är en bra redigerare som lämpar sig för uppgiften, någon liten 'leksaks' webbserver, kanske några verktyg för att minifiera Javascript/CSS (och kanske en Sass-kompilator) för produktionsbyggen, och under utvecklingen skulle du vanligtvis inte ens använda den där.

Backend-utveckling behöver ofta inte mer än front-end-utveckling. Eller kanske behöver lite mer. Till exempel använder jag PostgreSQL som en databas. Så jag har en lokal instans för utveckling/test. Jag kör pgAdmin4, som körs i en Docker-behållare. Du kan behöva köra en virtuell dator som replikerar din backend-miljö. GB lägger ihop.

Native app-utveckling görs ofta med minimala verktyg. För grundläggande iOS-apputveckling behöver du inget mer än Xcode. OK, och iOS-simulatorn. Om du gör någon form av hybrid, plattformsoberoende utveckling, lägg förmodligen till ytterligare verktygskedjekomponenter - och med nödvändighet Android SDK:er och byggverktyg. Android-utveckling använder en annan kompilator. Lägg till ytterligare en simulator. (Jag använder GenyMotion, eftersom båda metoderna som tillhandahålls av Google är långsamma som melass.) Alla anständiga Android-simulatorer körs i en virtuell dator.

Åh, behöver du testa den webbplatsen på Windows? Lägg till en Windows VM.

Så många verktyg körs idag i en container eller en virtuell dator. Det ökar minneskravet.

Få så mycket minne som din budget tål. Jag tror dock att 64 GB är den praktiska begränsningen idag för de flesta utvecklingar. Jag skaffade nyligen en iMac Pro med 64 GB för utveckling. Jag använder en stor verktygsuppsättning. Jag har kollat ​​Activity Monitor, och jag upptäcker att jag inte har använt en växlingsfil ännu. Men när alla verktyg är laddade använder jag någonstans mellan 32 GB och 64 GB, vanligtvis 40-50 GB. Men jag har faktiskt inte laddat upp ALLT på en gång än.

Det du måste fråga dig själv är:

– Är det viktigt att systemet är lyhört under byggandet?
- Hur lång byggcykel är du villig att tolerera?

I frontend-utveckling har du vanligtvis ingen 'byggcykel', det vill säga bygga/testa/upprepa. Hur länge är du villig att vänta för att få reda på att du gjort ett enkelt misstag som det tar några sekunder att rätta till? 15 minuter? 5 minuter? 1 minut? 30 sekunder?

I apputveckling med hjälp av ett kompilerat språk har du alltid en byggcykel, och den kan vara betydande. Jag förstår att Swift-byggcykeln är betydligt längre än Objective-C-byggcykeln. (Jag använder inte Swift själv, eftersom jag gör hybridutveckling, och den underliggande plattformskoden är i Objective-C (Java för Android), C och C++ - ingen Swift).

Mängden tillgängligt RAM kommer att ha en betydande inverkan på byggcykeltiden.
Reaktioner:tegranjeet, quietstormSD, Anony-mouse och 1 annan person M

mpe

3 september 2010
  • 17 december 2018
32GB iMac Pro-användare här.

Ja. 8GB RAM räcker till det mesta.
Reaktioner:iMakedonska J

jtara

23 april 2009
  • 17 december 2018
mpe sa: Ja. 8GB RAM räcker till det mesta.

Använder MacBook Pro systemminne för skärmen?

8GB räcker säkert inte till - till exempel - en Mac Mini, eftersom en ganska bra bit (beroende på modell) av det används för skärmen.

Den viktigaste feedbacken som ges här är att på de senaste MacBook-datorerna är minnet fastlödat. Du fattar ett beslut för de kommande åren.
Reaktioner:iMakedonska

Toutou

till
6 januari 2015
Prag, Tjeckien
  • 17 december 2018
Om du har en budget (och det är ingen skam i det) räcker det med 8 spelningar. Även om vissa utvecklingsverktyg är ganska RAM-tunga (*hosta* Android Studio *hosta*), är min 4 gig 2013 Pro fortfarande användbar. Och min arbetsutgivna ThinkPad som jag gör Rails-utveckling på (i RubyMine, i Linux) fungerar som en charm med 8 spelningar.
Reaktioner:iMakedonska

iMakedonska

Originalaffisch
10 oktober 2015
Brno, CZ
  • 17 december 2018
jtara sa: Definiera vad du menar med 'tillräckligt'?

Menar du 'tillräckligt så att konstruktioner inte misslyckas?'

Eller 'tillräckligt för att bygga färdigt inom en acceptabel tidsram'?

Och/eller 'tillräckligt så att användargränssnittet inte är laggy, och jag kan arbeta i en editor/surfa på webben/läsa e-post under ett bygge utan tröghet?

Det beror på dina förväntningar och din verktygskedja.

Frontend-utveckling har vanligtvis en kort/enkel verktygskedja. Allt du egentligen behöver är en bra redigerare som lämpar sig för uppgiften, någon liten 'leksaks' webbserver, kanske några verktyg för att minifiera Javascript/CSS (och kanske en Sass-kompilator) för produktionsbyggen, och under utvecklingen skulle du vanligtvis inte ens använda den där.

Backend-utveckling behöver ofta inte mer än front-end-utveckling. Eller kanske behöver lite mer. Till exempel använder jag PostgreSQL som en databas. Så jag har en lokal instans för utveckling/test. Jag kör pgAdmin4, som körs i en Docker-behållare. Du kan behöva köra en virtuell dator som replikerar din backend-miljö. GB lägger ihop.

Native app-utveckling görs ofta med minimala verktyg. För grundläggande iOS-apputveckling behöver du inget mer än Xcode. OK, och iOS-simulatorn. Om du gör någon form av hybrid, plattformsoberoende utveckling, lägg förmodligen till ytterligare verktygskedjekomponenter - och med nödvändighet Android SDK:er och byggverktyg. Android-utveckling använder en annan kompilator. Lägg till ytterligare en simulator. (Jag använder GenyMotion, eftersom båda metoderna som tillhandahålls av Google är långsamma som melass.) Alla anständiga Android-simulatorer körs i en virtuell dator.

Åh, behöver du testa den webbplatsen på Windows? Lägg till en Windows VM.

Så många verktyg körs idag i en container eller en virtuell dator. Det ökar minneskravet.

Få så mycket minne som din budget tål. Jag tror dock att 64 GB är den praktiska begränsningen idag för de flesta utvecklingar. Jag skaffade nyligen en iMac Pro med 64 GB för utveckling. Jag använder en stor verktygsuppsättning. Jag har kollat ​​Activity Monitor, och jag upptäcker att jag inte har använt en växlingsfil ännu. Men när alla verktyg är laddade använder jag någonstans mellan 32 GB och 64 GB, vanligtvis 40-50 GB. Men jag har faktiskt inte laddat upp ALLT på en gång än.

Det du måste fråga dig själv är:

– Är det viktigt att systemet är lyhört under byggandet?
- Hur lång byggcykel är du villig att tolerera?

I frontend-utveckling har du vanligtvis ingen 'byggcykel', det vill säga bygga/testa/upprepa. Hur länge är du villig att vänta för att få reda på att du gjort ett enkelt misstag som det tar några sekunder att rätta till? 15 minuter? 5 minuter? 1 minut? 30 sekunder?

I apputveckling med hjälp av ett kompilerat språk har du alltid en byggcykel, och den kan vara betydande. Jag förstår att Swift-byggcykeln är betydligt längre än Objective-C-byggcykeln. (Jag använder inte Swift själv, eftersom jag gör hybridutveckling, och den underliggande plattformskoden är i Objective-C (Java för Android), C och C++ - ingen Swift).

Mängden tillgängligt RAM kommer att ha en betydande inverkan på byggcykeltiden.
Tack för det omfattande svaret, det gav mig ett bättre perspektiv på de resurser som behövs för dessa olika kodningsscenarier som du har nämnt.
[doublepost=1545084766][/doublepost]
ammulder sa: Hur länge planerar du att behålla maskinen? Eftersom minnet inte går att uppgradera köper du verkligen för hur mycket minne du behöver om 3-5 år, inte idag. (Med tanke på att varje utgåva av utvecklingsverktyg använder mer minne än den förra.) Särskilt om du slutar använda behållare eller virtuella datorer (t.ex. för att köra en lokal version av någon back-end som din app ansluter till), blir produktivitetsträffen för för lite minne senare är inte värt kostnadsbesparingarna nu.
Mina bärbara datorer håller vanligtvis 4-6 år, eller till och med mer, så baserat på vad jag har läst hittills kanske det vore bäst att skaffa 16 GB-versionen om jag vill maximera användningen. TILL

Anony-mus

25 augusti 2016
  • 17 december 2018
jtara sa: Definiera vad du menar med 'tillräckligt'?

(klipp)

Så många verktyg körs idag i en container eller en virtuell dator. Det ökar minneskravet.

Få så mycket minne som din budget tål. Jag tror dock att 64 GB är den praktiska begränsningen idag för de flesta utvecklingar. Jag skaffade nyligen en iMac Pro med 64 GB för utveckling. Jag använder en stor verktygsuppsättning. Jag har kollat ​​Activity Monitor, och jag upptäcker att jag inte har använt en växlingsfil ännu. Men när alla verktyg är laddade använder jag någonstans mellan 32 GB och 64 GB, vanligtvis 40-50 GB. Men jag har faktiskt inte laddat upp ALLT på en gång än.

Det du måste fråga dig själv är:

– Är det viktigt att systemet är lyhört under byggandet?
- Hur lång byggcykel är du villig att tolerera?

I frontend-utveckling har du vanligtvis ingen 'byggcykel', det vill säga bygga/testa/upprepa. Hur länge är du villig att vänta för att få reda på att du gjort ett enkelt misstag som det tar några sekunder att rätta till? 15 minuter? 5 minuter? 1 minut? 30 sekunder?

I apputveckling med hjälp av ett kompilerat språk har du alltid en byggcykel, och den kan vara betydande. Jag förstår att Swift-byggcykeln är betydligt längre än Objective-C-byggcykeln. (Jag använder inte Swift själv, eftersom jag gör hybridutveckling, och den underliggande plattformskoden är i Objective-C (Java för Android), C och C++ - ingen Swift).

Mängden tillgängligt RAM kommer att ha en betydande inverkan på byggcykeltiden.

Detta sammanfattar det ganska mycket. Om du behöver köra virtuella datorer är 8 GB genomförbart (du kan köra en virtuell dator bekvämt i 8 GB RAM). Om du har en SSD kommer hastighetsskillnaden mellan att ha 8 GB kontra mer RAM inte vara särskilt uppenbar om du inte kör ett stort antal virtuella datorer och/eller försöker kompilera en enorm kodbas. C

Konstruera

23 juni 2010
  • 17 december 2018
Skillnaden mellan en 8GB-maskin och en 16GB-maskin är att du ibland måste ta medvetna beslut om vilka minneshungriga appar du ska ha i förgrunden.

Minneshungriga appar som XCode och Android Studio klarar sig bra på 8 GB. Problemet skulle uppstå om du försökte köra Slack ansluten till flera grupper, samtidigt som du lämnade Chrome öppen med många flikar, eller kanske ett VM-system för att köra några Docker-behållare. Det är samtidigheten som orsakar problemen.

Om du har råd att hoppa till 16 GB och du planerar att behålla den här maskinen ett tag, tycker jag att det är helt värt det för framtidssäkringen. Om den extra kostnaden räcker för att du ska tänka två gånger, glöm det och gör bara 8GB. Du kommer att vara glad hur som helst.
Reaktioner:Anony-mus

revmacian

20 oktober 2018
ANVÄNDNINGAR
  • 17 december 2018
jtara sa: 8GB räcker verkligen inte på - till exempel - en Mac Mini, eftersom en ganska bra bit (beroende på modell) av det används för skärmen.

Som jag sa tidigare kör jag Xcode på min 2014 Mac mini - den har 4 GB RAM och jag ser inga problem. Om jag kan koda bekvämt med 4GB så är 8GB gott. J

jtara

23 april 2009
  • 30 december 2018
kadammanali987 sa: (Människor behåller ofta applikationer för att kompilera och spela spel tills dess. Detta saktar ner bearbetningen)

Eller så kan du bara snabba upp kompilerings-länk-kör-cykeln till en punkt där det inte tar mer än en hälsosam få-rumpan-ur-stolen i ett par minuter.

En del av det är att ha tillräckligt med minne för att kompilatorn ska fungera effektivt, med minimalt/inget utbyte.

Att du KAN betyder inte att du SKA. Du måste bestämma hur värdefull din tid är.

Det avgörande ögonblicket för denna ekvation för mig var för många, många år sedan. En produkt som heter Instant-C. Det minskade den cykeln från flera minuter till flera sekunder. Det inspirerade mig att minska en kompilerings-länkkörningscykel för en applikation som simulerar och analyserar variationer (från en modell, ursprungligen skriven i Fortran) i mekaniska sammansättningar från 1/2 timme till mindre än en minut. (OK, jag fuskade - jag tog bort cykeln för kompilering-länk-kör... genom att skriva en domänspecifik kompilator och följeslagande bytekodtolkare) 35 år senare är det fortfarande den dominerande lösningen för den domänen.

Hur som helst, OP fattade sitt beslut - jag tror att det är klokt.

BTW, skulle jag fortfarande använda min 2012 i7 Mini för builds, skulle jag använda en Ramdisk. Det halverar ungefär byggtiden för mig på Mini. Jag provade det på min nya iMac Pro, men hade inte samma effekt. Jag är rädd att jag inte tänkte testa ramdisken förrän jag skaffade iMac Pro. MacOS har inte riktigt bra RamDisk-lösningar. Mini har 16 GB. Det finns ingen marginal för en ramdisk på en maskin med 4GB. (iMac Pro har 64 GB).

vbctv

till
25 september 2013
Cleveland, OH
  • 2 maj 2019
jtara sa: Använder MacBook Pro systemminne för skärmen?

8GB räcker säkert inte till - till exempel - en Mac Mini, eftersom en ganska bra bit (beroende på modell) av det används för skärmen.

Den viktigaste feedbacken som ges här är att på de senaste MacBook-datorerna är minnet fastlödat. Du fattar ett beslut för de kommande åren.

Jag har en 2018 mac Mini ansluten till 2 skärmar och har 8GB RAM, jag ser aldrig några problem och gör både Android Studio & Xcode utvecklingsarbete plus kör MAMP Pro i bakgrunden. Minnestrycksmonitorn går aldrig riktigt upp och förblir alltid grön och låg. Jag har diskuterat en uppgradering till 16 GB, men jag ser inget behov om jag inte hittar en bra deal på rea.... C

ChromeCloud

21 juni 2009
Italien
  • 2 maj 2019
Jag tyckte att de flesta svar hittills var missvisande.

När jag försöker använda min MacBook Air med 4 GB RAM för att utveckla iOS-appar (jag pratar om riktiga appar, inte bara små demoprojekt), blir upplevelsen ganska frustrerande väldigt snabbt. Att bara öppna Xcode och Safari med 3 eller 4 flikar kommer att helt mätta ditt RAM-minne (kom ihåg att systemet i sig tar cirka 2 GB) och att använda simulatorn för att felsöka dina appar är ganska omöjligt (datorn saktar ner till den grad att den inte svarar).

Med 8 GB kommer du att klara dig. Men inte länge. Låt oss säga att 8 GB är minimum för att köra hela iOS-utvecklingssviten bekvämt + ett par appar på sidan om du vill ha som en snygg textredigerare eller några verktyg för att göra vektorgrafik till exempel.

Så om jag var tvungen att köpa en ny maskin nu och behålla den i tre år eller mer, skulle jag få minst 16 GB RAM.

Ytterligare ett varningens ord: Jag skulle aldrig ha förutsett detta för några år sedan när jag köpte min iMac (som har 32 GB RAM och det är min huvudsakliga arbetsstation), men det ser ut som om du vill köra simulatorn utan att hela GUI-gränssnittet stammar, VRAM (alias videominne) spelar också en viktig roll i ekvationen.

För en retina iMac kommer ett 2GB grafikkort inte att räcka för att köra allt smidigt: med några sekunders mellanrum blir bufferten full (dock upplever jag detta bara när jag kör simulatorn) och iMac fryser i en bråkdel av en sekund medan den töms och fylls igen. Det är super irriterande.

Så min rekommendation för något som du kan arbeta bekvämt med de kommande 3 åren är: 16 GB RAM (eller mer) + 4 GB VRAM (eller mer) .
Reaktioner:Emanuel rodriguez M

mkelly

29 november 2007
  • 3 maj 2019
8 GB räcker för idag, så länge du inte kör virtuella maskiner. 16 GB är förmodligen sweet spot om du tittar på den bärbara datorn som håller i 4-6 år. 32/64 GB är överdrivet om du inte kör många virtuella datorer samtidigt eller har pengar att bränna. M

folkmassor

12 februari 2019
  • 4 maj 2019
Xcode är tungt på processorn mindre på RAM. Jag har precis köpt en Mac mini 2018 i7 6-kärnor och när jag kompilerar iOS och Swift i Xcode går processorn i aktivitetsmonitorn till 90%!
I samma applikation kan jag se att RAM-användningen är under 8 GB utan swap. För senare funderar jag på att uppdatera RAM-minnet men jag har ingen brådska för tillfället. F

Filipeteixeira

10 april 2013
  • 6 maj 2019
Det borde vara mer än tillräckligt. Ofta är det bara ett problem när man jobbar med språk som R eller så. Eftersom dessa språk ofta tenderar att ladda allt i minnet, vilket innebär att med stora datamängder, desto mer RAM-minne du har desto bättre presterar det.