Fòrums

Són suficients 8 GB de RAM per programar?

iMacedoni

Cartell original
Oct 10, 2015
Brno, CZ
  • 15 de desembre de 2018
Hola.

Estic pensant seriosament en aconseguir un MacBook Pro 13' 2018. L'ús principal de l'ordinador portàtil seria per a la codificació (desenvolupament web frontal), però m'agradaria aprofundir en el desenvolupament d'aplicacions iOS més endavant. Dit això, són suficients 8 GB de RAM per executar XCODE o hauria d'invertir una mica més per obtenir la versió de 16 GB?

revmacià

Oct 20, 2018


USA
  • 15 de desembre de 2018
iMacedonian va dir: Hola.

Estic pensant seriosament en aconseguir un MacBook Pro 13' 2018. L'ús principal de l'ordinador portàtil seria per a la codificació (desenvolupament web frontal), però m'agradaria aprofundir en el desenvolupament d'aplicacions iOS més endavant. Dit això, són suficients 8 GB de RAM per executar XCODE o hauria d'invertir una mica més per obtenir la versió de 16 GB?
Executo Xcode al meu Mac mini del 2014: té 4 GB de RAM i no veig cap problema. Hi haurà gent que us dirà que 16 GB o més de RAM és imprescindible, però he vist que això simplement no és cert.
Reaccions:jeremiah256, racerhomie, BigMcGuire i 1 persona més

Emanuel Rodriguez

Oct 17, 2018
  • 15 de desembre de 2018
revmacian va dir: executo Xcode al meu Mac mini del 2014: té 4 GB de RAM i no veig cap problema. Hi haurà gent que us dirà que 16 GB o més de RAM és imprescindible, però he vist que això simplement no és cert.
Convingut. He descobert que fins i tot un Raspberry Pi amb el seu únic concert de RAM és capaç de compilar la majoria de coses. Si un projecte té un munt de codi C++ (veient el vostre LLVM) o altres llenguatges complexos (que requereixen que el compilador treballi dur i, per tant, utilitzi més RAM), en general no el pot gestionar. Sembla que al voltant de 3 GB és un mínim segur per al treball de desenvolupament, segons la meva experiència.

EDIT: Tot i que tingueu en compte que es tractava de 3 GB dins d'una màquina virtual, sense una GUI. L'opció de 8 GB és definitivament segura, de moment. Tanmateix, recomanaria 16 GB només per a una prova de futur. 8 GB comença a ser menys còmode que en temps passats. Última edició: 15 de desembre de 2018
Reaccions:BigMcGuire, jaduff46 i iMacedonian A

amulder

18 de desembre de 2015
  • 16 de desembre de 2018
Quant de temps teniu previst mantenir la màquina? Com que la memòria no es pot actualitzar, realment esteu comprant la quantitat de memòria que necessitareu d'aquí a 3-5 anys, no avui. (Tenint en compte que cada llançament d'eines de desenvolupament utilitza més memòria que l'anterior.) Sobretot si acabeu utilitzant contenidors o màquines virtuals (p. ex. per executar una versió local d'algun back-end al qual es connecta la vostra aplicació), l'èxit de productivitat de massa poca memòria després no val la pena l'estalvi de costos ara.
Reaccions:jeremiah256, racerhomie, iMacedonian i 1 persona més

gos de gossos

Oct 19, 2014
Apple Campus, Cupertino CA
  • 16 de desembre de 2018
Recordeu la programació en 4K l'any 1976.
Reaccions:PhilMacbook

Disseny 960

17 d'abril de 2012
Destiny, FL
  • 17 de desembre de 2018
iMacedonian va dir: Hola.

Estic pensant seriosament en aconseguir un MacBook Pro 13' 2018. L'ús principal de l'ordinador portàtil seria per a la codificació (desenvolupament web frontal), però m'agradaria aprofundir en el desenvolupament d'aplicacions iOS més endavant. Dit això, són suficients 8 GB de RAM per executar XCODE o hauria d'invertir una mica més per obtenir la versió de 16 GB?
8 GB és suficient, faig servir un MBPr de 16 GB i poques vegades veig que la pressió de la memòria salta per sobre dels 8 GB.

A part, visiteu Expo.io ( https://expo.io/ ). És el que fan servir tots els nens fantàstics en aquests dies (molt més fàcil de desplegar en diverses plataformes). Advertència: funcionarà per a la majoria d'aplicacions, però algunes tenen requisits/necessitats de maquinari específics que l'exposició no complirà. No obstant això, un lloc de partida fantàstic.
Reaccions:iMacedoni J

jtara

Mar 23, 2009
  • 17 de desembre de 2018
Definiu què voleu dir amb 'prou'?

Voleu dir 'prou perquè les compilacions no fallin?'

O 'prou perquè les compilacions es completin en un període de temps acceptable'?

I/o prou perquè la interfície d'usuari no sigui retardada i pugui treballar en un editor/navegar per la web/llegir correu electrònic durant una compilació sense lentitud?

Depèn de les teves expectatives i de la teva cadena d'eines.

El desenvolupament de front-end normalment té una cadena d'eines curta/simple. Tot el que realment necessiteu és un bon editor adequat per a la tasca, un petit servidor web de 'joguina', potser algunes eines per minimitzar Javascript/CSS (i potser un compilador Sass) per a les compilacions de producció, i durant el desenvolupament normalment ni tan sols utilitzaríeu això.

Sovint, el desenvolupament de backend pot necessitar només un desenvolupament frontal. O potser necessitareu una mica més. Per exemple, faig servir PostgreSQL com a base de dades. Per tant, tinc una instància local per al desenvolupament/prova. Executo pgAdmin4, que s'executa en un contenidor Docker. És possible que hàgiu d'executar una màquina virtual que repliqui el vostre entorn de fons. Els GB sumen.

El desenvolupament d'aplicacions natives sovint es fa amb eines mínimes. Per al desenvolupament bàsic d'aplicacions iOS, no necessiteu res més que Xcode. D'acord, i el simulador d'iOS. Si feu algun tipus de desenvolupament híbrid i multiplataforma, probablement afegiu components addicionals de cadena d'eines i, necessàriament, SDK d'Android i eines de creació. El desenvolupament d'Android utilitza un compilador diferent. Afegiu un altre simulador. (Jo faig servir GenyMotion, ja que tots dos enfocaments proporcionats per Google són lents com la melassa.) Qualsevol simulador d'Android decent s'executa en una màquina virtual.

Ah, cal provar aquest lloc web a Windows? Afegiu una màquina virtual de Windows.

Tantes eines avui s'executen en un contenidor o una màquina virtual. Això afegeix el requisit de memòria.

Aconsegueix tanta memòria com pugui suportar el teu pressupost. Crec, però, que 64 GB és el límit pràctic d'avui per a la majoria del desenvolupament. Fa poc vaig rebre un iMac Pro amb 64 ​​GB per al desenvolupament. Faig servir un conjunt d'eines gran. He estat comprovant el Monitor d'activitat i trobo que encara no he utilitzat cap fitxer d'intercanvi. Però un cop carregades totes les eines, estic utilitzant entre 32 GB i 64 GB, normalment 40-50 GB. Però en realitat encara no ho he carregat TOT alhora.

El que t'has de preguntar és:

- És important que el sistema respongui durant la construcció?
- Quant de temps de cicle de construcció estàs disposat a tolerar?

En el desenvolupament frontal, normalment no teniu un 'cicle de construcció', és a dir, compilar/provar/repetir. Quant de temps estàs disposat a esperar per descobrir que has comès un error senzill que trigarà uns segons a corregir? 15 minuts? 5 minuts? 1 minut? 30 segons?

En el desenvolupament d'aplicacions amb un llenguatge compilat, sempre teniu un cicle de creació i pot ser important. Entenc que el cicle de creació de Swift és substancialment més llarg que el cicle de creació de Objective-C. (Jo mateix no faig servir Swift, perquè faig desenvolupament híbrid i el codi de la plataforma subjacent es troba a Objective-C (Java per a Android), C i C++, sense Swift).

La quantitat de memòria RAM disponible tindrà un impacte significatiu en el temps del cicle de construcció.
Reaccions:tegranjeet, quietstormSD, Anony-mouse i 1 persona més M

mpe

set 3, 2010
  • 17 de desembre de 2018
Usuari d'iMac Pro de 32 GB aquí.

Sí. 8 GB de RAM és suficient per a la majoria de coses.
Reaccions:iMacedoni J

jtara

Mar 23, 2009
  • 17 de desembre de 2018
mpe va dir: Sí. 8 GB de RAM és suficient per a la majoria de coses.

El MacBook Pro utilitza la memòria del sistema per a la pantalla?

8 GB segurament no són suficients, per exemple, en un Mac Mini, ja que una bona part (segons el model) s'utilitza per a la pantalla.

El comentari més important que es dóna aquí és que als MacBook recents, la memòria està soldada. Esteu prenent una decisió per als propers anys.
Reaccions:iMacedoni

Toutou

a
6 de gener de 2015
Praga, República Txeca
  • 17 de desembre de 2018
Si teniu un pressupost (i no hi ha vergonya), amb 8 concerts n'hi haurà prou. Tot i que algunes eines de desenvolupament tenen una gran quantitat de memòria RAM (*tos* Android Studio *tos*), el meu 4 gig 2013 Pro encara es pot utilitzar. I el meu ThinkPad publicat per la feina en el qual faig el desenvolupament de Rails (a RubyMine, a Linux) funciona com un encant amb 8 concerts.
Reaccions:iMacedoni

iMacedoni

Cartell original
Oct 10, 2015
Brno, CZ
  • 17 de desembre de 2018
jtara va dir: Defineix què vols dir amb 'prou'?

Voleu dir 'prou perquè les compilacions no fallin?'

O 'prou perquè les compilacions es completin en un període de temps acceptable'?

I/o prou perquè la interfície d'usuari no sigui retardada i pugui treballar en un editor/navegar per la web/llegir correu electrònic durant una compilació sense lentitud?

Depèn de les teves expectatives i de la teva cadena d'eines.

El desenvolupament de front-end normalment té una cadena d'eines curta/simple. Tot el que realment necessiteu és un bon editor adequat per a la tasca, un petit servidor web de 'joguina', potser algunes eines per minimitzar Javascript/CSS (i potser un compilador Sass) per a les compilacions de producció, i durant el desenvolupament normalment ni tan sols utilitzaríeu això.

Sovint, el desenvolupament de backend pot necessitar només un desenvolupament frontal. O potser necessitareu una mica més. Per exemple, faig servir PostgreSQL com a base de dades. Per tant, tinc una instància local per al desenvolupament/prova. Executo pgAdmin4, que s'executa en un contenidor Docker. És possible que hàgiu d'executar una màquina virtual que repliqui el vostre entorn de fons. Els GB sumen.

El desenvolupament d'aplicacions natives sovint es fa amb eines mínimes. Per al desenvolupament bàsic d'aplicacions iOS, no necessiteu res més que Xcode. D'acord, i el simulador d'iOS. Si feu algun tipus de desenvolupament híbrid i multiplataforma, probablement afegiu components addicionals de cadena d'eines i, necessàriament, SDK d'Android i eines de creació. El desenvolupament d'Android utilitza un compilador diferent. Afegiu un altre simulador. (Jo faig servir GenyMotion, ja que tots dos enfocaments proporcionats per Google són lents com la melassa.) Qualsevol simulador d'Android decent s'executa en una màquina virtual.

Ah, cal provar aquest lloc web a Windows? Afegiu una màquina virtual de Windows.

Tantes eines avui s'executen en un contenidor o una màquina virtual. Això afegeix el requisit de memòria.

Aconsegueix tanta memòria com pugui suportar el teu pressupost. Crec, però, que 64 GB és el límit pràctic d'avui per a la majoria del desenvolupament. Fa poc vaig rebre un iMac Pro amb 64 ​​GB per al desenvolupament. Faig servir un conjunt d'eines gran. He estat comprovant el Monitor d'activitat i trobo que encara no he utilitzat cap fitxer d'intercanvi. Però un cop carregades totes les eines, estic utilitzant entre 32 GB i 64 GB, normalment 40-50 GB. Però en realitat encara no ho he carregat TOT alhora.

El que t'has de preguntar és:

- És important que el sistema respongui durant la construcció?
- Quant de temps de cicle de construcció estàs disposat a tolerar?

En el desenvolupament frontal, normalment no teniu un 'cicle de construcció', és a dir, compilar/provar/repetir. Quant de temps estàs disposat a esperar per descobrir que has comès un error senzill que trigarà uns segons a corregir? 15 minuts? 5 minuts? 1 minut? 30 segons?

En el desenvolupament d'aplicacions amb un llenguatge compilat, sempre teniu un cicle de creació i pot ser important. Entenc que el cicle de creació de Swift és substancialment més llarg que el cicle de creació de Objective-C. (Jo mateix no faig servir Swift, perquè faig desenvolupament híbrid i el codi de la plataforma subjacent es troba a Objective-C (Java per a Android), C i C++, sense Swift).

La quantitat de memòria RAM disponible tindrà un impacte significatiu en el temps del cicle de construcció.
Gràcies per aquesta extensa resposta, em va donar una millor perspectiva dels recursos necessaris per a aquests diferents escenaris de codificació que heu esmentat.
[doublepost=1545084766][/doublepost]
amulder va dir: Quant de temps teniu previst mantenir la màquina? Com que la memòria no es pot actualitzar, realment esteu comprant la quantitat de memòria que necessitareu d'aquí a 3-5 anys, no avui. (Tenint en compte que cada llançament d'eines de desenvolupament utilitza més memòria que l'anterior.) Sobretot si acabeu utilitzant contenidors o màquines virtuals (p. ex. per executar una versió local d'algun back-end al qual es connecta la vostra aplicació), l'èxit de productivitat de massa poca memòria després no val la pena l'estalvi de costos ara.
Els meus ordinadors portàtils solen durar entre 4 i 6 anys, o fins i tot més, així que, segons el que he llegit fins ara, potser seria millor obtenir la versió de 16 GB si vull maximitzar l'ús. A

Anonymous-ratolí

25 d'agost de 2016
  • 17 de desembre de 2018
jtara va dir: Defineix què vols dir amb 'prou'?

(tallar)

Tantes eines avui s'executen en un contenidor o una màquina virtual. Això afegeix el requisit de memòria.

Aconsegueix tanta memòria com pugui suportar el teu pressupost. Crec, però, que 64 GB és el límit pràctic d'avui per a la majoria del desenvolupament. Fa poc vaig rebre un iMac Pro amb 64 ​​GB per al desenvolupament. Faig servir un conjunt d'eines gran. He estat comprovant el Monitor d'activitat i trobo que encara no he utilitzat cap fitxer d'intercanvi. Però un cop carregades totes les eines, estic utilitzant entre 32 GB i 64 GB, normalment 40-50 GB. Però en realitat encara no ho he carregat TOT alhora.

El que t'has de preguntar és:

- És important que el sistema respongui durant la construcció?
- Quant de temps de cicle de construcció estàs disposat a tolerar?

En el desenvolupament frontal, normalment no teniu un 'cicle de construcció', és a dir, compilar/provar/repetir. Quant de temps estàs disposat a esperar per descobrir que has comès un error senzill que trigarà uns segons a corregir? 15 minuts? 5 minuts? 1 minut? 30 segons?

En el desenvolupament d'aplicacions amb un llenguatge compilat, sempre teniu un cicle de creació i pot ser important. Entenc que el cicle de creació de Swift és substancialment més llarg que el cicle de creació de Objective-C. (Jo mateix no faig servir Swift, perquè faig desenvolupament híbrid i el codi de la plataforma subjacent es troba a Objective-C (Java per a Android), C i C++, sense Swift).

La quantitat de memòria RAM disponible tindrà un impacte significatiu en el temps del cicle de construcció.

Això ho resumeix molt bé. Si necessiteu executar màquines virtuals, aleshores es poden fer 8 GB (podeu executar una màquina virtual còmodament amb 8 GB de RAM). Si teniu un SSD, la diferència de velocitat entre tenir 8 GB i més RAM no serà molt evident tret que utilitzeu un gran nombre de màquines virtuals i/o intenteu compilar una base de codi enorme. C

Construir

23 de juny de 2010
  • 17 de desembre de 2018
La diferència entre una màquina de 8 GB i una de 16 GB és que, de vegades, haureu de prendre decisions conscients sobre quines aplicacions amb fam de memòria mantenir en primer pla.

Les aplicacions amb fam de memòria com XCode i Android Studio funcionaran bé amb 8 GB. El problema vindria si intenteu executar Slack connectat a diversos grups, mentre deixeu Chrome obert amb nombroses pestanyes, o potser un sistema VM per executar alguns contenidors Docker. És la concurrència la que causa els problemes.

Si us podeu permetre el salt a 16 GB i teniu previst mantenir aquesta màquina durant un temps, crec que val la pena per al futur. Si el cost addicional és suficient per fer-vos-ho pensar dues vegades, oblideu-vos-ho i només feu 8 GB. Seràs feliç de qualsevol manera.
Reaccions:Anonymous-ratolí

revmacià

Oct 20, 2018
USA
  • 17 de desembre de 2018
jtara va dir: 8 GB segurament no són suficients, per exemple, en un Mac Mini, ja que una bona part (segons el model) s'utilitza per a la pantalla.

Com he dit anteriorment, executo Xcode al meu Mac mini de 2014: té 4 GB de RAM i no veig cap problema. Si puc codificar còmodament amb 4 GB, 8 GB n'hi ha prou. J

jtara

Mar 23, 2009
  • 30 de desembre de 2018
kadammanali987 va dir: (La gent sovint manté l'aplicació per compilar i jugar a jocs fins aquell moment. Això alenteix el processament)

O simplement podríeu accelerar el cicle de compilació d'enllaços fins al punt que no triga més que treure el cul de la cadira durant un parell de minuts.

Una part d'això és tenir prou memòria perquè el compilador funcioni de manera eficient, amb un intercanvi mínim/no.

Que POGUES no vol dir que HAGUES. Has de decidir com de valuós és el teu temps.

El moment definitiu d'aquesta equació per a mi va ser fa molts, molts anys. Un producte anomenat Instant-C. Va reduir aquest cicle de diversos minuts a diversos segons. Em va inspirar a reduir un cicle de compilació-enllaç-execució per a una aplicació que simula i analitza variacions (d'un model, escrit originalment en Fortran) en conjunts mecànics d'1/2 hora a menys d'un minut. (D'acord, vaig fer trampes: vaig eliminar el cicle de compilació-enllaç-execució... escrivint un compilador específic del domini i un intèrpret de bytecode complementari) 35 anys després, encara és la solució predominant per a aquest domini.

De totes maneres, OP va prendre la seva decisió, crec que era sàvia.

Per cert, si encara fes servir el meu 2012 i7 Mini per a les compilacions, utilitzaria un Ramdisk. Aproximadament la meitat del temps de construcció per a mi al Mini. Ho vaig provar al meu nou iMac Pro, però no va tenir el mateix impacte. Em temo que no vaig pensar en provar el disc ram fins que vaig aconseguir l'iMac Pro. MacOS realment no té grans solucions de RamDisk. El Mini té 16 GB. No hi ha marge per a un disc ram en una màquina amb 4 GB. (L'iMac Pro té 64 GB).

vbctv

a
set 25, 2013
Cleveland, OH
  • 2 de maig de 2019
jtara va dir: El MacBook Pro utilitza la memòria del sistema per a la pantalla?

8 GB segurament no són suficients, per exemple, en un Mac Mini, ja que una bona part (segons el model) s'utilitza per a la pantalla.

El comentari més important que es dóna aquí és que als MacBook recents, la memòria està soldada. Esteu prenent una decisió per als propers anys.

Tinc un mac Mini del 2018 connectat a 2 monitors i tinc 8 GB de RAM, mai no veig cap problema i faig treballs de desenvolupament d'Android Studio i Xcode a més d'executar MAMP Pro en segon pla. El monitor de pressió de memòria mai augmenta realment i sempre es manté verd i baix. He estat debatint una actualització a 16 GB, però realment no veig una necessitat tret que trobo una oferta assassina a la venda... C

ChromeCloud

21 de juny de 2009
Itàlia
  • 2 de maig de 2019
He trobat la majoria de respostes fins ara enganyoses.

Quan intento utilitzar el meu MacBook Air amb 4 GB de RAM per desenvolupar aplicacions per a iOS (estic parlant d'aplicacions reals, no només de petits projectes de demostració), l'experiència es torna força frustrant molt ràpidament. Només obrir Xcode i Safari amb 3 o 4 pestanyes saturarà completament la memòria RAM (recordeu que el sistema per si sol triga uns 2 GB) i utilitzar el simulador per depurar les vostres aplicacions és pràcticament impossible (l'ordinador s'alenteix fins al punt de deixar de respondre).

Amb 8 GB aniràs bé. Però no per molt de temps. Diguem que 8 GB és el mínim per executar còmodament la suite de desenvolupament d'iOS completa + un parell d'aplicacions al costat si voleu tenir com un editor de text fantàstic o algunes eines per fer gràfics vectorials, per exemple.

Per tant, si hagués de comprar una màquina nova ara i mantenir-la durant els propers 3 anys o més, obtindria almenys 16 GB de RAM.

Una altra paraula de precaució: mai no m'hauria previst això fa uns anys quan vaig comprar el meu iMac (que té 32 GB de RAM i és la meva estació de treball principal), però sembla que si voleu executar el simulador sense que tota la GUI tartamudejés, VRAM (també conegut com memòria de vídeo) també té un paper important en l'equació.

Per a un iMac retina, una targeta de vídeo de 2 GB no serà suficient per executar-ho tot sense problemes: cada pocs segons la memòria intermèdia s'omple (només ho experimento mentre executo el simulador) i l'iMac es congela durant una fracció de segon mentre s'omple. es buida i torna a omplir-se. És súper molest.

Així que la meva recomanació per a alguna cosa en la qual puguis treballar còmodament durant els propers 3 anys és: 16 GB de RAM (o més) + 4 GB de VRAM (o més) .
Reaccions:Emanuel Rodriguez M

mkelly

29 de novembre de 2007
  • 3 de maig de 2019
8 GB són suficients per avui, sempre que no utilitzeu màquines virtuals. 16 GB és probablement el millor punt si esteu mirant el portàtil que duri entre 4 i 6 anys. 32/64 GB és excessiu tret que utilitzeu moltes màquines virtuals simultàniament o tingueu diners per gravar. M

multituds

Feb 12, 2019
  • 4 de maig de 2019
Xcode és pesat a la CPU menys a la memòria RAM. Acabo de comprar un Mac mini 2018 i7 6 nuclis i quan compile iOS i Swift a Xcode, la CPU del monitor d'activitat va al 90%!
A la mateixa aplicació puc veure que l'ús de RAM és inferior a 8 GB sense intercanvi. Per més endavant estic pensant en actualitzar la memòria RAM, però de moment no tinc pressa. F

FilipeTeixeira

Mar 10, 2013
  • 6 de maig de 2019
Hauria de ser més que suficient. Sovint només és un problema quan treballeu amb idiomes com R o així. Com que aquests idiomes solen carregar-ho tot a la memòria, és a dir, amb grans conjunts de dades, com més RAM tingueu, millor funcionarà.