Fóruns

8 GB de RAM são suficientes para a programação?

iMacedonian

Pôster original
10 de outubro de 2015
Brno, CZ
  • 15 de dezembro de 2018
Ei.

Estou pensando seriamente em comprar um MacBook Pro 13 '2018. O uso principal do laptop seria para codificação (desenvolvimento web front-end), mas gostaria de mergulhar no desenvolvimento de aplicativos iOS mais tarde. Dito isso, 8 GB de RAM são suficientes para executar o XCODE ou devo investir um pouco mais para obter a versão de 16 GB?

revmaciano

20 de outubro de 2018


USOS
  • 15 de dezembro de 2018
iMacedonian disse: Olá.

Estou pensando seriamente em comprar um MacBook Pro 13 '2018. O uso principal do laptop seria para codificação (desenvolvimento web front-end), mas gostaria de mergulhar no desenvolvimento de aplicativos iOS mais tarde. Dito isso, 8 GB de RAM são suficientes para executar o XCODE ou devo investir um pouco mais para obter a versão de 16 GB?
Eu executo o Xcode no meu Mac mini 2014 - ele tem 4 GB de RAM e não vejo nenhum problema. Haverá algumas pessoas que dirão que 16 GB ou mais de RAM é uma obrigação, mas eu vi que isso simplesmente não é verdade.
Reações:jeremiah256, racerhomie, BigMcGuire e 1 outra pessoa

Emanuel Rodriguez

17 de outubro de 2018
  • 15 de dezembro de 2018
revmacian disse: Eu executo o Xcode no meu Mac mini 2014 - ele tem 4 GB de RAM e não vejo nenhum problema. Haverá algumas pessoas que dirão que 16 GB ou mais de RAM é uma obrigação, mas eu vi que isso simplesmente não é verdade.
Concordou. Descobri que mesmo um Raspberry Pi com seu único GB de RAM é capaz de compilar a maioria das coisas. Se um projeto tem uma tonelada de código C ++ (olhando para seu LLVM) ou outras linguagens complexas (exigindo que o compilador trabalhe duro e, portanto, use mais RAM), geralmente não é possível gerenciá-lo. Na minha experiência, parece que cerca de 3 GB é um mínimo seguro para o trabalho de desenvolvimento.

EDIT: Embora tenha em mente que se tratava de 3 GB dentro de uma VM, sem uma GUI. A opção de 8 GB é definitivamente segura, por enquanto. Eu recomendaria 16 GB apenas para a prova de futuro. 8 GB está começando a se tornar menos confortável do que no passado. Última edição: 15 de dezembro de 2018
Reações:BigMcGuire, jaduff46 e iMacedonian PARA

amulder

18 de dezembro de 2015
  • 16 de dezembro de 2018
Por quanto tempo você planeja manter a máquina? Como a memória não pode ser atualizada, você está realmente comprando a quantidade de memória de que precisará em 3-5 anos, não hoje. (Tendo em mente que cada versão de ferramentas de desenvolvimento usa mais memória do que a anterior.) Particularmente se você acabar usando contêineres ou VMs (por exemplo, para executar uma versão local de algum back-end ao qual seu aplicativo se conecta), o impacto de produtividade de muito pouca memória posteriormente não compensa a economia de custos agora.
Reações:jeremiah256, racerhomie, iMacedonian e 1 outra pessoa

ladrão de cachorros

19 de outubro de 2014
Apple Campus, Cupertino CA
  • 16 de dezembro de 2018
Lembre-se de programar em 4K em 1976.
Reações:PhilMacbook

960design

17 de abril de 2012
Destiny, FL
  • 17 de dezembro de 2018
iMacedonian disse: Olá.

Estou pensando seriamente em comprar um MacBook Pro 13 '2018. O uso principal do laptop seria para codificação (desenvolvimento web front-end), mas gostaria de mergulhar no desenvolvimento de aplicativos iOS mais tarde. Dito isso, 8 GB de RAM são suficientes para executar o XCODE ou devo investir um pouco mais para obter a versão de 16 GB?
8 GB é suficiente, eu uso um MBPr de 16 GB e raramente vejo a pressão da memória saltar acima de 8 GB.

Como um aparte, verifique em Expo.io ( https://expo.io/ ) É o que todas as crianças legais usam hoje em dia (muito mais fácil de implantar em várias plataformas). Advertência: funcionará com a maioria dos aplicativos, mas alguns têm requisitos / necessidades de hardware específicos que a Expo não atenderá. No entanto, um ponto de partida fantástico.
Reações:iMacedonian J

Jtara

23 de abril de 2009
  • 17 de dezembro de 2018
Defina o que você quer dizer com 'suficiente'?

Você quer dizer 'o suficiente para que as compilações não falhem?'

Ou 'o suficiente para que as compilações sejam concluídas em um prazo aceitável'?

E / ou 'o suficiente para que a IU não fique lenta e eu possa trabalhar em um editor / navegar na web / ler e-mails durante uma compilação sem lentidão?

Depende de suas expectativas e do conjunto de ferramentas.

O desenvolvimento de front-end normalmente tem um conjunto de ferramentas curto / simples. Tudo o que você realmente precisa é de um bom editor adequado para a tarefa, algum pequeno servidor da web 'brinquedo', talvez algumas ferramentas para minimizar Javascript / CSS (e talvez um compilador Sass) para construções de produção, e durante o desenvolvimento você normalmente nem usaria naquela.

O desenvolvimento de back-end pode frequentemente não precisar de mais do que o desenvolvimento de front-end. Ou pode precisar de um pouco mais. Por exemplo, eu uso PostgreSQL como banco de dados. Portanto, tenho uma instância local para desenvolvimento / teste. Eu executo o pgAdmin4, que é executado em um contêiner do Docker. Pode ser necessário executar uma VM que replique seu ambiente de back-end. O GB aumenta.

O desenvolvimento de aplicativos nativos geralmente é feito com o mínimo de ferramentas. Para o desenvolvimento básico de aplicativos iOS, você não precisa de nada mais do que o Xcode. OK, e o simulador iOS. Se você estiver fazendo algum tipo de desenvolvimento híbrido e multiplataforma, provavelmente adicione outros componentes do conjunto de ferramentas - e necessariamente Android SDKs e ferramentas de construção. O desenvolvimento do Android usa um compilador diferente. Adicione outro simulador. (Eu uso GenyMotion, uma vez que ambas as abordagens fornecidas pelo Google são lentas como melaço.) Qualquer simulador Android decente é executado em uma VM.

Oh, precisa testar esse site no Windows? Adicione uma VM do Windows.

Muitas ferramentas hoje são executadas em um contêiner ou VM. Isso aumenta o requisito de memória.

Obtenha o máximo de memória que seu orçamento puder suportar. Eu acho, entretanto, 64 GB é o limite prático hoje para a maior parte do desenvolvimento. Recentemente, comprei um iMac Pro com 64 GB para desenvolvimento. Eu uso um grande conjunto de ferramentas. Tenho verificado o Activity Monitor e descobri que ainda não usei um arquivo de troca. Mas, depois que todas as ferramentas estão carregadas, estou usando algo entre 32 GB e 64 GB, normalmente de 40 a 50 GB. Mas na verdade eu não carreguei TUDO de uma vez ainda.

O que você deve se perguntar é:

- É importante que o sistema seja responsivo durante a construção?
- Quanto tempo de um ciclo de construção você está disposto a tolerar?

No desenvolvimento de front end, você normalmente não tem um 'ciclo de construção', ou seja, construção / teste / repetição. Quanto tempo você está disposto a esperar para descobrir que cometeu um erro simples que levará alguns segundos para ser corrigido? 15 minutos? 5 minutos? 1 minuto? 30 segundos?

No desenvolvimento de aplicativos usando uma linguagem compilada, você sempre tem um ciclo de construção, e pode ser significativo. Eu entendo que o ciclo de construção do Swift é substancialmente mais longo do que o ciclo de construção do Objective-C. (Eu não uso Swift, porque faço desenvolvimento híbrido e o código da plataforma subjacente está em Objective-C (Java para Android), C e C ++ - sem Swift).

A quantidade de RAM disponível terá um impacto significativo no tempo do ciclo de construção.
Reações:tegranjeet, quietstormSD, Anony-mouse e 1 outra pessoa M

mpe

3 de setembro de 2010
  • 17 de dezembro de 2018
Usuário do iMac Pro de 32 GB aqui.

sim. 8 GB de RAM são suficientes para a maioria das coisas.
Reações:iMacedonian J

Jtara

23 de abril de 2009
  • 17 de dezembro de 2018
mpe disse: Sim. 8 GB de RAM são suficientes para a maioria das coisas.

O MacBook Pro usa memória do sistema para a tela?

8 GB certamente não é suficiente em - por exemplo - um Mac Mini, já que uma boa parte (dependendo do modelo) disso é usado para a tela.

O feedback mais importante dado aqui é que em MacBooks recentes, a memória está soldada. Você está tomando uma decisão pelos próximos anos.
Reações:iMacedonian

Toutou

para
6 de janeiro de 2015
Praga, República Tcheca
  • 17 de dezembro de 2018
Se você está com o orçamento apertado (e isso não tem vergonha), 8 shows serão o suficiente. Embora algumas ferramentas de desenvolvimento tenham bastante RAM (* tosse * Android Studio * tosse *), meu 4 GB 2013 Pro ainda pode ser usado. E meu ThinkPad criado para o trabalho no qual faço o desenvolvimento Rails (em RubyMine, no Linux) funciona perfeitamente com 8 GB.
Reações:iMacedonian

iMacedonian

Pôster original
10 de outubro de 2015
Brno, CZ
  • 17 de dezembro de 2018
jtara disse: Defina o que você quer dizer com 'suficiente'?

Você quer dizer 'o suficiente para que as compilações não falhem?'

Ou 'o suficiente para que as compilações sejam concluídas em um prazo aceitável'?

E / ou 'o suficiente para que a IU não fique lenta e eu possa trabalhar em um editor / navegar na web / ler e-mails durante uma compilação sem lentidão?

Depende de suas expectativas e do conjunto de ferramentas.

O desenvolvimento de front-end normalmente tem um conjunto de ferramentas curto / simples. Tudo o que você realmente precisa é de um bom editor adequado para a tarefa, algum pequeno servidor da web 'brinquedo', talvez algumas ferramentas para minimizar Javascript / CSS (e talvez um compilador Sass) para construções de produção, e durante o desenvolvimento você normalmente nem usaria naquela.

O desenvolvimento de back-end pode frequentemente não precisar de mais do que o desenvolvimento de front-end. Ou pode precisar de um pouco mais. Por exemplo, eu uso PostgreSQL como banco de dados. Portanto, tenho uma instância local para desenvolvimento / teste. Eu executo o pgAdmin4, que é executado em um contêiner do Docker. Pode ser necessário executar uma VM que replique seu ambiente de back-end. O GB aumenta.

O desenvolvimento de aplicativos nativos geralmente é feito com o mínimo de ferramentas. Para o desenvolvimento básico de aplicativos iOS, você não precisa de nada mais do que o Xcode. OK, e o simulador iOS. Se você estiver fazendo algum tipo de desenvolvimento híbrido e multiplataforma, provavelmente adicione outros componentes do conjunto de ferramentas - e necessariamente Android SDKs e ferramentas de construção. O desenvolvimento do Android usa um compilador diferente. Adicione outro simulador. (Eu uso GenyMotion, uma vez que ambas as abordagens fornecidas pelo Google são lentas como melaço.) Qualquer simulador Android decente é executado em uma VM.

Oh, precisa testar esse site no Windows? Adicione uma VM do Windows.

Muitas ferramentas hoje são executadas em um contêiner ou VM. Isso aumenta o requisito de memória.

Obtenha o máximo de memória que seu orçamento puder suportar. Eu acho, entretanto, 64 GB é o limite prático hoje para a maior parte do desenvolvimento. Recentemente, comprei um iMac Pro com 64 GB para desenvolvimento. Eu uso um grande conjunto de ferramentas. Tenho verificado o Activity Monitor e descobri que ainda não usei um arquivo de troca. Mas, depois que todas as ferramentas estão carregadas, estou usando algo entre 32 GB e 64 GB, normalmente de 40 a 50 GB. Mas na verdade eu não carreguei TUDO de uma vez ainda.

O que você deve se perguntar é:

- É importante que o sistema seja responsivo durante a construção?
- Quanto tempo de um ciclo de construção você está disposto a tolerar?

No desenvolvimento de front end, você normalmente não tem um 'ciclo de construção', ou seja, construção / teste / repetição. Quanto tempo você está disposto a esperar para descobrir que cometeu um erro simples que levará alguns segundos para ser corrigido? 15 minutos? 5 minutos? 1 minuto? 30 segundos?

No desenvolvimento de aplicativos usando uma linguagem compilada, você sempre tem um ciclo de construção, e pode ser significativo. Eu entendo que o ciclo de construção do Swift é substancialmente mais longo do que o ciclo de construção do Objective-C. (Eu não uso Swift, porque faço desenvolvimento híbrido e o código da plataforma subjacente está em Objective-C (Java para Android), C e C ++ - sem Swift).

A quantidade de RAM disponível terá um impacto significativo no tempo do ciclo de construção.
Obrigado por essa ampla resposta, ela me deu uma perspectiva melhor sobre os recursos necessários para esses vários cenários de codificação que você mencionou.
[doublepost = 1545084766] [/ doublepost]
ammulder disse: Por quanto tempo você planeja manter a máquina? Como a memória não pode ser atualizada, você está realmente comprando a quantidade de memória de que precisará em 3-5 anos, não hoje. (Tendo em mente que cada versão de ferramentas de desenvolvimento usa mais memória do que a anterior.) Particularmente se você acabar usando contêineres ou VMs (por exemplo, para executar uma versão local de algum back-end ao qual seu aplicativo se conecta), o impacto de produtividade de muito pouca memória posteriormente não compensa a economia de custos agora.
Meus laptops geralmente duram de 4 a 6 anos, ou até mais, então, com base no que li até agora, talvez seja melhor obter a versão de 16 GB se quiser maximizar o uso. PARA

Rato anônimo

25 de agosto de 2016
  • 17 de dezembro de 2018
jtara disse: Defina o que você quer dizer com 'suficiente'?

(recorte)

Muitas ferramentas hoje são executadas em um contêiner ou VM. Isso aumenta o requisito de memória.

Obtenha o máximo de memória que seu orçamento puder suportar. Eu acho, entretanto, 64 GB é o limite prático hoje para a maior parte do desenvolvimento. Recentemente, comprei um iMac Pro com 64 GB para desenvolvimento. Eu uso um grande conjunto de ferramentas. Tenho verificado o Activity Monitor e descobri que ainda não usei um arquivo de troca. Mas, depois que todas as ferramentas estão carregadas, estou usando algo entre 32 GB e 64 GB, normalmente de 40 a 50 GB. Mas na verdade eu não carreguei TUDO de uma vez ainda.

O que você deve se perguntar é:

- É importante que o sistema seja responsivo durante a construção?
- Quanto tempo de um ciclo de construção você está disposto a tolerar?

No desenvolvimento de front end, você normalmente não tem um 'ciclo de construção', ou seja, construção / teste / repetição. Quanto tempo você está disposto a esperar para descobrir que cometeu um erro simples que levará alguns segundos para ser corrigido? 15 minutos? 5 minutos? 1 minuto? 30 segundos?

No desenvolvimento de aplicativos usando uma linguagem compilada, você sempre tem um ciclo de construção, e pode ser significativo. Eu entendo que o ciclo de construção do Swift é substancialmente mais longo do que o ciclo de construção do Objective-C. (Eu não uso Swift, porque faço desenvolvimento híbrido e o código da plataforma subjacente está em Objective-C (Java para Android), C e C ++ - sem Swift).

A quantidade de RAM disponível terá um impacto significativo no tempo do ciclo de construção.

Isto resume bem. Se você precisa executar VMs, 8 GB é viável (você pode executar uma VM confortavelmente em 8 GB de RAM). Se você tiver um SSD, a diferença de velocidade entre 8 GB e mais RAM não será muito óbvia, a menos que você esteja executando um grande número de VMs e / ou tentando compilar uma grande base de código. C

Construir

23 de junho de 2010
  • 17 de dezembro de 2018
A diferença entre uma máquina de 8 GB e uma de 16 GB é que você, às vezes, terá que tomar decisões conscientes sobre quais aplicativos que consomem muita memória manter em primeiro plano.

Aplicativos que exigem muita memória, como XCode e Android Studio, funcionam bem com 8 GB. O problema viria se você tentasse executar o Slack conectado a vários grupos, enquanto deixava o Chrome aberto com várias guias, ou talvez um sistema VM para executar alguns contêineres do Docker. É a simultaneidade que causa os problemas.

Se você pode se dar ao luxo de pular para 16 GB e planeja manter esta máquina por um tempo, acho que vale totalmente a pena para o futuro. Se o custo extra for suficiente para fazer você pensar duas vezes, esqueça e faça apenas 8 GB. Você ficará feliz de qualquer maneira.
Reações:Rato anônimo

revmaciano

20 de outubro de 2018
USOS
  • 17 de dezembro de 2018
jtara disse: 8 GB certamente não é suficiente em - por exemplo - um Mac Mini, já que uma boa parte (dependendo do modelo) é usada para a tela.

Como afirmei antes, eu executo o Xcode no meu Mac mini 2014 - ele tem 4 GB de RAM e não vejo nenhum problema. Se eu posso codificar confortavelmente com 4 GB, 8 GB é o bastante. J

Jtara

23 de abril de 2009
  • 30 de dezembro de 2018
kadammanali987 disse: (As pessoas costumam manter o aplicativo para compilar e jogar até aquele momento. Isso torna o processamento lento)

Ou você pode simplesmente acelerar o ciclo compilar-link-executar até o ponto em que não leve mais do que um saudável exercício para fora da cadeira por alguns minutos.

Uma parte disso é ter memória suficiente para o compilador trabalhar com eficiência, com troca mínima / sem troca.

Que você PODE não significa que você DEVE. Você tem que decidir o quão valioso é o seu tempo.

O momento de definição dessa equação para mim foi há muitos, muitos anos. Um produto denominado Instant-C. Isso reduziu esse ciclo de vários minutos para vários segundos. Isso me inspirou a reduzir um ciclo de compilação-link-execução para um aplicativo que simula e analisa variações (de um modelo, originalmente escrito em Fortran) em montagens mecânicas de 1/2 hora para menos de um minuto. (OK, eu trapaceei - removi o ciclo compilar-link-executar ... escrevendo um compilador específico de domínio e um interpretador de bytecode associado) 35 anos depois, ainda é a solução predominante para esse domínio.

De qualquer forma, OP tomou sua decisão - acho que foi sábia.

BTW, se eu ainda estivesse usando meu Mini i7 2012 para compilações, eu empregaria um Ramdisk. Isso reduz o tempo de construção para mim no Mini aproximadamente pela metade. Experimentei no meu novo iMac Pro, mas não teve o mesmo impacto. Infelizmente, não pensei em tentar o ramdisk até obter o iMac Pro. O MacOS realmente não tem ótimas soluções RamDisk. O Mini tem 16 GB. Não há margem para um ramdisk em uma máquina com 4 GB. (O iMac Pro tem 64 GB).

vbctv

para
25 de setembro de 2013
Cleveland, OH
  • 2 de maio de 2019
jtara disse: O MacBook Pro usa memória do sistema para a tela?

8 GB certamente não é suficiente em - por exemplo - um Mac Mini, já que uma boa parte (dependendo do modelo) disso é usado para a tela.

O feedback mais importante dado aqui é que em MacBooks recentes, a memória está soldada. Você está tomando uma decisão pelos próximos anos.

Eu tenho um mac Mini 2018 conectado a 2 monitores e 8 GB de RAM, nunca vejo nenhum problema e faço o trabalho de desenvolvimento do Android Studio e do Xcode, além de executar o MAMP Pro em segundo plano. O monitor de pressão da memória nunca sobe realmente e sempre permanece verde e baixo. Tenho debatido uma atualização para 16 GB, mas não vejo realmente uma necessidade, a menos que encontre um negócio matador à venda ... C

ChromeCloud

21 de junho de 2009
Itália
  • 2 de maio de 2019
Achei a maioria das respostas até agora enganosas.

Quando tento usar meu MacBook Air com 4 GB de RAM para desenvolver aplicativos iOS (estou falando de aplicativos reais, não apenas de pequenos projetos de demonstração), a experiência se torna muito frustrante muito rápido. Apenas abrir o Xcode e o Safari com 3 ou 4 abas saturará completamente sua RAM (lembre-se de que o sistema sozinho leva cerca de 2 GB) e usar o simulador para depurar seus aplicativos é praticamente impossível (o computador fica lento a ponto de não responder).

Com 8 GB você vai ficar bem. Mas não por muito. Digamos que 8 GB seja o mínimo para rodar confortavelmente todo o pacote de desenvolvimento iOS + alguns aplicativos adicionais se você quiser um editor de texto sofisticado ou algumas ferramentas para fazer gráficos vetoriais, por exemplo.

Então, se eu tivesse que comprar uma nova máquina agora e mantê-la pelos próximos 3 anos ou mais, eu teria pelo menos 16 GB de RAM.

Outra palavra de cautela: eu nunca teria previsto isso alguns anos atrás, quando comprei meu iMac (que tem 32 GB de RAM e é minha estação de trabalho principal), mas parece que você quer rodar o simulador sem toda a interface gráfica travada, VRAM (também conhecido como memória de vídeo) também desempenha um papel importante na equação.

Para um retina iMac, uma placa de vídeo de 2 GB não será suficiente para executar tudo sem problemas: a cada poucos segundos o buffer fica cheio (eu só percebo isso durante a execução do simulador) e o iMac congela por uma fração de segundo enquanto está é esvaziado e enchido novamente. É super irritante.

Portanto, minha recomendação para algo em que você possa trabalhar confortavelmente pelos próximos 3 anos é: 16 GB de RAM (ou mais) + 4 GB de VRAM (ou mais) .
Reações:Emanuel Rodriguez M

mkelly

29 de novembro de 2007
  • 3 de maio de 2019
8 GB é o suficiente por hoje, contanto que você não esteja executando máquinas virtuais. 16 GB é provavelmente o ponto ideal se você estiver olhando para um laptop com duração de 4 a 6 anos. 32/64 GB é um exagero, a menos que você execute várias VMs simultaneamente ou tenha dinheiro para gastar. M

multidões

12 de fevereiro de 2019
  • 4 de maio de 2019
O Xcode é pesado na CPU, menos na RAM. Acabei de comprar um Mac mini 2018 i7 6 núcleos e quando compilo iOS e Swift no Xcode a CPU no monitor de atividade vai para 90%!
No mesmo aplicativo, posso ver que o uso de RAM está abaixo de 8 GB sem troca. Para mais tarde estou pensando em atualizar a RAM, mas não estou com pressa no momento. F

Filipeteixeira

10 de abril de 2013
  • 6 de maio de 2019
Deve ser mais do que suficiente. Freqüentemente, é apenas um problema quando você trabalha com linguagens como R ou algo assim. Porque essas linguagens costumam carregar tudo na memória, o que significa que, com grandes conjuntos de dados, quanto mais RAM você tiver, melhor será o desempenho.