Fóra

Stačí 8 GB RAM na programování?

imakedonský

Původní plakát
10. října 2015
Brno, CZ
  • 15. prosince 2018
Zdravím.

Vážně uvažuji o pořízení MacBooku Pro 13' 2018. Primární použití notebooku by bylo pro kódování (front-end vývoj webu), ale později bych se rád ponořil do vývoje aplikací pro iOS. S tím, co bylo řečeno, stačí 8 GB RAM ke spuštění XCODE, nebo bych měl investovat více, abych získal 16 GB verzi?

revmacian

20. října 2018


POUŽITÍ
  • 15. prosince 2018
iMakedonian řekl: Ahoj.

Vážně uvažuji o pořízení MacBooku Pro 13' 2018. Primární použití notebooku by bylo pro kódování (front-end vývoj webu), ale později bych se rád ponořil do vývoje aplikací pro iOS. S tím, co bylo řečeno, stačí 8 GB RAM ke spuštění XCODE, nebo bych měl investovat více, abych získal 16 GB verzi?
Spouštím Xcode na svém Macu mini 2014 - má 4GB RAM a nevidím žádné problémy. Někteří lidé vám řeknou, že 16 GB nebo více RAM je nutností, ale viděl jsem, že to prostě není pravda.
reakce:jeremiah256, racerhomie, BigMcGuire a 1 další osoba

Emanuel Rodriguez

17. října 2018
  • 15. prosince 2018
revmacian řekl: Spouštím Xcode na svém Macu mini 2014 - má 4 GB RAM a nevidím žádné problémy. Někteří lidé vám řeknou, že 16 GB nebo více RAM je nutností, ale viděl jsem, že to prostě není pravda.
Souhlas. Zjistil jsem, že dokonce i Raspberry Pi s jedinou pamětí RAM je schopno zkompilovat většinu věcí. Pokud má projekt spoustu kódu C++ (při pohledu na vás LLVM) nebo jiných složitých jazyků (vyžadujících od kompilátoru tvrdě pracovat, a tím využívat více paměti RAM), pak to obecně nezvládne. Zdá se, že kolem 3 GB je podle mých zkušeností bezpečné minimum pro vývojovou práci.

EDIT: I když mějte na paměti, že to byly 3 GB uvnitř VM, bez GUI. 8GB varianta je prozatím rozhodně bezpečná. Doporučil bych však 16 GB jen pro budoucí zabezpečení. 8GB začíná být méně pohodlné než v dobách minulých. Poslední úprava: 15. prosince 2018
reakce:BigMcGuire, jaduff46 a iMakedonian NA

amulder

18. prosince 2015
  • 16. prosince 2018
Jak dlouho si plánujete stroj ponechat? Vzhledem k tomu, že paměť nelze upgradovat, kupujete skutečně za to, kolik paměti budete potřebovat za 3–5 let, ne dnes. (Vzhledem k tomu, že každé vydání vývojových nástrojů využívá více paměti než předchozí.) Zejména pokud nakonec použijete kontejnery nebo virtuální počítače (např. ke spuštění místní verze nějakého back-endu, ke kterému se vaše aplikace připojuje), pokles produktivity příliš málo paměti později nestojí za úsporu nákladů.
reakce:jeremiah256, racerhomie, iMacedonian a 1 další osoba

doglobber

19. října 2014
Apple Campus, Cupertino CA
  • 16. prosince 2018
Vzpomeňte si na programování ve 4K v roce 1976.
reakce:PhilMacbook

960 design

17. dubna 2012
Destiny, FL
  • 17. prosince 2018
iMakedonian řekl: Ahoj.

Vážně uvažuji o pořízení MacBooku Pro 13' 2018. Primární použití notebooku by bylo pro kódování (front-end vývoj webu), ale později bych se rád ponořil do vývoje aplikací pro iOS. S tím, co bylo řečeno, stačí 8 GB RAM ke spuštění XCODE, nebo bych měl investovat více, abych získal 16 GB verzi?
8 GB je dost, používám 16 GB MBPr a jen zřídka vidím, že tlak paměti vyskočí nad 8 GB.

Kromě toho se podívejte na Expo.io ( https://expo.io/ ). To je to, co v dnešní době používají všechny skvělé děti (je mnohem snazší nasazení na více platformách). Upozornění: bude fungovat pro většinu aplikací, ale některé mají specifické hardwarové požadavky/potřeby, které expo nesplní. Nicméně fantastické výchozí místo.
reakce:imakedonský J

jtara

23. dubna 2009
  • 17. prosince 2018
Definuj, co myslíš tím 'dost'?

Myslíte 'dost na to, aby sestavení neselhaly?'

Nebo „dost na to, aby byly stavby dokončeny v přijatelném časovém rámci“?

A/nebo „dost na to, aby se uživatelské rozhraní nezdržovalo a já mohl během sestavování pracovat v editoru/procházet web/číst e-maily bez zpomalení?

Záleží na vašich očekáváních a vašem nástrojovém řetězci.

Vývoj frontendu má obvykle krátký/jednoduchý toolchain. Vše, co opravdu potřebujete, je dobrý editor vhodný pro daný úkol, nějaký malý „hračkový“ webový server, možná nějaké nástroje pro minifikaci Javascript/CSS (a možná kompilátor Sass) pro produkční sestavení, a během vývoje byste je obvykle ani nepoužili že.

Vývoj backendu často nepotřebuje víc než vývoj frontendu. Nebo může potřebovat trochu víc. Jako databázi používám například PostgreSQL. Takže mám místní instanci pro vývoj/test. Spouštím pgAdmin4, který běží v kontejneru Docker. Možná budete muset spustit virtuální počítač, který replikuje vaše backendové prostředí. GB se sčítají.

Vývoj nativních aplikací se často provádí s minimálními nástroji. Pro základní vývoj aplikací pro iOS nepotřebujete nic víc než Xcode. OK a simulátor iOS. Pokud děláte nějaký hybridní vývoj napříč platformami, pravděpodobně přidejte další komponenty toolchain – a nezbytně sady Android SDK a nástroje pro tvorbu. Vývoj pro Android používá jiný kompilátor. Přidejte další simulátor. (Používám GenyMotion, protože oba přístupy poskytované Googlem jsou pomalé jako melasa.) Každý slušný simulátor Android běží na virtuálním počítači.

Oh, potřebujete otestovat ten web na Windows? Přidejte virtuální počítač s Windows.

Tolik nástrojů dnes běží v kontejneru nebo virtuálním počítači. To zvyšuje nároky na paměť.

Získejte tolik paměti, kolik váš rozpočet unese. Myslím si však, že 64 GB je dnes praktickým omezením pro většinu vývoje. Nedávno jsem dostal iMac Pro s 64GB pro vývoj. Používám velkou sadu nářadí. Zkontroloval jsem Activity Monitor a zjistil jsem, že jsem zatím nepoužil odkládací soubor. Ale jakmile jsou všechny nástroje načteny, používám někde mezi 32 GB a 64 GB, obvykle 40-50 GB. Ale vlastně jsem ještě neměl VŠECHNO načteno najednou.

Musíte se sami sebe zeptat:

- Je důležité, aby systém při budování reagoval?
- Jak dlouhý stavební cyklus jste ochotni tolerovat?

Při vývoji front-endu obvykle nemáte „cyklus sestavení“, tedy sestavení/testování/opakování. Jak dlouho jste ochotni čekat, než zjistíte, že jste udělali jednoduchou chybu, jejíž náprava bude trvat několik sekund? 15 minut? 5 minut? 1 minuta? 30 sekund?

Při vývoji aplikací pomocí kompilovaného jazyka máte vždy cyklus sestavování a ten může být významný. Chápu, že cyklus sestavení Swift je podstatně delší než cyklus sestavení Objective-C. (Sám Swift nepoužívám, protože dělám hybridní vývoj a základní kód platformy je v Objective-C (Java pro Android), C a C++ - žádný Swift).

Množství dostupné paměti RAM bude mít významný dopad na dobu sestavení.
reakce:tegranjeet, quietstormSD, Anony-mouse a 1 další osoba M

mpe

3. září 2010
  • 17. prosince 2018
32GB uživatel iMacu Pro zde.

Ano. Na většinu věcí stačí 8GB RAM.
reakce:imakedonský J

jtara

23. dubna 2009
  • 17. prosince 2018
mpe řekl: Ano. Na většinu věcí stačí 8GB RAM.

Používá MacBook Pro systémovou paměť pro displej?

8GB je určitě málo na - například - Mac Mini, protože docela slušný kus (v závislosti na modelu) je použit na displej.

Nejdůležitější zpětná vazba zde uvedená je, že na nejnovějších MacBookech je paměť připájena. Rozhodujete se na několik příštích let.
reakce:imakedonský

Toutou

na
6. ledna 2015
Praha, Česká republika
  • 17. prosince 2018
Pokud máte omezený rozpočet (a není to žádná ostuda), 8 koncertů bude stačit. Zatímco některé vývojářské nástroje jsou dost zatížené RAM (*kašel* Android Studio *kašel*), můj 4gig 2013 Pro je stále použitelný. A můj pracovní ThinkPad, na kterém dělám vývoj Rails (v RubyMine, v Linuxu), funguje jako kouzlo s 8 koncerty.
reakce:imakedonský

imakedonský

Původní plakát
10. října 2015
Brno, CZ
  • 17. prosince 2018
jtara řekl: Definuj, co myslíš tím 'dost'?

Myslíte 'dost na to, aby sestavení neselhaly?'

Nebo „dost na to, aby byly stavby dokončeny v přijatelném časovém rámci“?

A/nebo „dost na to, aby se uživatelské rozhraní nezdržovalo a já mohl během sestavování pracovat v editoru/procházet web/číst e-maily bez zpomalení?

Záleží na vašich očekáváních a vašem nástrojovém řetězci.

Vývoj frontendu má obvykle krátký/jednoduchý toolchain. Vše, co opravdu potřebujete, je dobrý editor vhodný pro daný úkol, nějaký malý „hračkový“ webový server, možná nějaké nástroje pro minifikaci Javascript/CSS (a možná kompilátor Sass) pro produkční sestavení, a během vývoje byste je obvykle ani nepoužili že.

Vývoj backendu často nepotřebuje víc než vývoj frontendu. Nebo může potřebovat trochu víc. Jako databázi používám například PostgreSQL. Takže mám místní instanci pro vývoj/test. Spouštím pgAdmin4, který běží v kontejneru Docker. Možná budete muset spustit virtuální počítač, který replikuje vaše backendové prostředí. GB se sčítají.

Vývoj nativních aplikací se často provádí s minimálními nástroji. Pro základní vývoj aplikací pro iOS nepotřebujete nic víc než Xcode. OK a simulátor iOS. Pokud děláte nějaký hybridní vývoj napříč platformami, pravděpodobně přidejte další komponenty toolchain – a nezbytně sady Android SDK a nástroje pro tvorbu. Vývoj pro Android používá jiný kompilátor. Přidejte další simulátor. (Používám GenyMotion, protože oba přístupy poskytované Googlem jsou pomalé jako melasa.) Každý slušný simulátor Android běží na virtuálním počítači.

Oh, potřebujete otestovat ten web na Windows? Přidejte virtuální počítač s Windows.

Tolik nástrojů dnes běží v kontejneru nebo virtuálním počítači. To zvyšuje nároky na paměť.

Získejte tolik paměti, kolik váš rozpočet unese. Myslím si však, že 64 GB je dnes praktickým omezením pro většinu vývoje. Nedávno jsem dostal iMac Pro s 64GB pro vývoj. Používám velkou sadu nářadí. Zkontroloval jsem Activity Monitor a zjistil jsem, že jsem zatím nepoužil odkládací soubor. Ale jakmile jsou všechny nástroje načteny, používám někde mezi 32 GB a 64 GB, obvykle 40-50 GB. Ale vlastně jsem ještě neměl VŠECHNO načteno najednou.

Musíte se sami sebe zeptat:

- Je důležité, aby systém při budování reagoval?
- Jak dlouhý stavební cyklus jste ochotni tolerovat?

Při vývoji front-endu obvykle nemáte „cyklus sestavení“, tedy sestavení/testování/opakování. Jak dlouho jste ochotni čekat, než zjistíte, že jste udělali jednoduchou chybu, jejíž náprava bude trvat několik sekund? 15 minut? 5 minut? 1 minuta? 30 sekund?

Při vývoji aplikací pomocí kompilovaného jazyka máte vždy cyklus sestavování a ten může být významný. Chápu, že cyklus sestavení Swift je podstatně delší než cyklus sestavení Objective-C. (Sám Swift nepoužívám, protože dělám hybridní vývoj a základní kód platformy je v Objective-C (Java pro Android), C a C++ - žádný Swift).

Množství dostupné paměti RAM bude mít významný dopad na dobu sestavení.
Díky za tuto rozsáhlou odpověď, poskytla mi lepší pohled na zdroje potřebné pro tyto různé scénáře kódování, které jste zmínil.
[doublepost=1545084766][/doublepost]
ammulder řekl: Jak dlouho si plánujete nechat stroj? Vzhledem k tomu, že paměť nelze upgradovat, kupujete skutečně za to, kolik paměti budete potřebovat za 3–5 let, ne dnes. (Vzhledem k tomu, že každé vydání vývojových nástrojů využívá více paměti než předchozí.) Zejména pokud nakonec použijete kontejnery nebo virtuální počítače (např. ke spuštění místní verze nějakého back-endu, ke kterému se vaše aplikace připojuje), pokles produktivity příliš málo paměti později nestojí za úsporu nákladů.
Moje notebooky obvykle vydrží 4-6 let nebo i více, takže podle toho, co jsem zatím četl, by možná bylo nejlepší pořídit si 16GB verzi, pokud chci maximalizovat využití. NA

Anony-myš

25. srpna 2016
  • 17. prosince 2018
jtara řekl: Definuj, co myslíš tím 'dost'?

(stříhat)

Tolik nástrojů dnes běží v kontejneru nebo virtuálním počítači. To zvyšuje nároky na paměť.

Získejte tolik paměti, kolik váš rozpočet unese. Myslím si však, že 64 GB je dnes praktickým omezením pro většinu vývoje. Nedávno jsem dostal iMac Pro s 64GB pro vývoj. Používám velkou sadu nářadí. Zkontroloval jsem Activity Monitor a zjistil jsem, že jsem zatím nepoužil odkládací soubor. Ale jakmile jsou všechny nástroje načteny, používám někde mezi 32 GB a 64 GB, obvykle 40-50 GB. Ale vlastně jsem ještě neměl VŠECHNO načteno najednou.

Musíte se sami sebe zeptat:

- Je důležité, aby systém při budování reagoval?
- Jak dlouhý stavební cyklus jste ochotni tolerovat?

Při vývoji front-endu obvykle nemáte „cyklus sestavení“, tedy sestavení/testování/opakování. Jak dlouho jste ochotni čekat, než zjistíte, že jste udělali jednoduchou chybu, jejíž náprava bude trvat několik sekund? 15 minut? 5 minut? 1 minuta? 30 sekund?

Při vývoji aplikací pomocí kompilovaného jazyka máte vždy cyklus sestavování a ten může být významný. Chápu, že cyklus sestavení Swift je podstatně delší než cyklus sestavení Objective-C. (Sám Swift nepoužívám, protože dělám hybridní vývoj a základní kód platformy je v Objective-C (Java pro Android), C a C++ - žádný Swift).

Množství dostupné paměti RAM bude mít významný dopad na dobu sestavení.

Tohle to docela vystihuje. Pokud potřebujete provozovat VM, pak je 8 GB proveditelných (jeden VM můžete pohodlně provozovat v 8 GB RAM). Pokud máte SSD, rozdíl v rychlosti mezi 8 GB a více RAM nebude příliš patrný, pokud nepoužíváte velké množství virtuálních počítačů a/nebo se nepokoušíte zkompilovat obrovskou kódovou základnu. C

Postavit

23. června 2010
  • 17. prosince 2018
Rozdíl mezi 8GB a 16GB strojem je ten, že občas budete muset vědomě rozhodovat o tom, které aplikace náročné na paměť ponechat v popředí.

Aplikace náročné na paměť, jako je XCode a Android Studio, si s 8 GB postačí. Problém by nastal, pokud byste se pokusili spustit Slack připojený k více skupinám a přitom nechali Chrome otevřený s mnoha kartami nebo možná systém VM pro spuštění některých kontejnerů Docker. Je to souběžnost, která způsobuje problémy.

Pokud si můžete dovolit skok na 16 GB a plánujete si tento stroj nějakou dobu ponechat, myslím, že to stojí za to pro budoucí zabezpečení. Pokud jsou dodatečné náklady dostatečné k tomu, abyste si to dvakrát rozmysleli, pak na to zapomeňte a udělejte jen 8 GB. Budete šťastní tak či tak.
reakce:Anony-myš

revmacian

20. října 2018
POUŽITÍ
  • 17. prosince 2018
jtara řekl: 8GB je určitě málo na - například - Mac Mini, protože docela dobrý kus (podle modelu) se používá na displej.

Jak jsem uvedl dříve, spouštím Xcode na svém Macu mini 2014 - má 4 GB RAM a nevidím žádné problémy. Pokud můžu kódovat pohodlně se 4GB, tak 8GB bohatě stačí. J

jtara

23. dubna 2009
  • 30. prosince 2018
kadammanali987 řekl: (Lidé si často nechávají aplikaci pro kompilaci a hraní her do té doby. To zpomaluje zpracování)

Nebo můžete jen urychlit cyklus kompilace-odkaz-spuštění do bodu, kdy to nezabere víc než zdravé zvednutí zadku ze židle na pár minut.

Jednou z nich je dostatek paměti pro efektivní práci kompilátoru s minimálním/žádným swapováním.

To, že MŮŽETE, neznamená, že MUSÍTE. Musíte se rozhodnout, jak cenný je váš čas.

Rozhodující okamžik pro tuto rovnici pro mě byl před mnoha a mnoha lety. Produkt s názvem Instant-C. Zkrátila tento cyklus z několika minut na několik sekund. Inspirovalo mě to ke snížení cyklu kompilace-odkaz-spuštění pro aplikaci, která simuluje a analyzuje variace (od modelu, původně napsaného ve Fortranu) v mechanických sestavách z 1/2 hodiny na méně než minutu. (OK, podváděl jsem - odstranil jsem cyklus kompilace-odkaz-spuštění... napsáním kompilátoru specifického pro doménu a doprovodného interpreta bajtového kódu) O 35 let později je to pro tuto doménu stále převládající řešení.

Každopádně OP se rozhodl - myslím, že moudré.

BTW, kdybych stále používal svůj i7 Mini z roku 2012 na sestavení, použil bych Ramdisk. Na Mini mi to zkracuje dobu sestavení přibližně na polovinu. Zkoušel jsem to na svém novém iMacu Pro, ale nemělo to stejný účinek. Obávám se, že mě nenapadlo vyzkoušet ramdisk, dokud jsem nedostal iMac Pro. MacOS ve skutečnosti nemá skvělá řešení RamDisk. Mini má 16GB. Pro ramdisk na stroji se 4GB není žádná rezerva. (iMac Pro má 64 GB).

vbctv

na
25. září 2013
Cleveland, Oh
  • 2. května 2019
jtara řekl: Používá MacBook Pro systémovou paměť pro displej?

8GB je určitě málo na - například - Mac Mini, protože docela slušný kus (v závislosti na modelu) je použit na displej.

Nejdůležitější zpětná vazba zde uvedená je, že na nejnovějších MacBookech je paměť připájena. Rozhodujete se na několik příštích let.

Mám 2018 mac Mini připojený ke 2 monitorům a mám 8 GB RAM, nikdy nevidím žádné problémy a dělám vývojové práce pro Android Studio a Xcode a spouštím MAMP Pro na pozadí. Monitor tlaku paměti se nikdy nezvedne a vždy zůstane zelený a nízký. Uvažoval jsem o upgradu na 16GB, ale opravdu nevidím potřebu, dokud nenajdu zabijáckou nabídku na prodej.... C

ChromeCloud

21. června 2009
Itálie
  • 2. května 2019
Zjistil jsem, že většina dosavadních odpovědí je zavádějících.

Když se pokusím použít svůj MacBook Air se 4 GB RAM k vývoji aplikací pro iOS (mluvím o skutečných aplikacích, nejen o malých demo projektech), je to velmi rychle frustrující. Pouhé otevření Xcode a Safari se 3 nebo 4 kartami zcela nasytí vaši RAM (pamatujte, že systém sám o sobě zabere asi 2 GB) a použití simulátoru k ladění aplikací je v podstatě nemožné (počítač se zpomalí tak, že přestane reagovat).

S 8GB budete v pořádku. Ale ne na dlouho. Řekněme, že 8 GB je minimum pro pohodlný běh celé vývojářské sady pro iOS + několik aplikací na straně, pokud chcete mít jako efektní textový editor nebo nějaké nástroje například pro vektorovou grafiku.

Takže, kdybych si teď musel koupit nový stroj a ponechat si ho další 3 roky nebo déle, dostal bych alespoň 16 GB RAM.

Ještě upozornění: před pár lety, když jsem si koupil svůj iMac (který má 32 GB RAM a je to moje hlavní pracovní stanice), bych to nikdy nečekal, ale vypadá to, že pokud chcete spustit simulátor bez zadrhávání celého GUI, Důležitou roli v rovnici hraje také VRAM (aka videopaměť).

U retina iMacu nebude 2GB grafická karta stačit k tomu, aby vše fungovalo hladce: každých pár sekund se vyrovnávací paměť zaplní (zažívám to jen při spuštění simulátoru) a iMac na zlomek sekundy zamrzne. se vyprázdní a znovu naplní. Je to super otravné.

Takže moje doporučení na něco, na čem můžete pohodlně pracovat další 3 roky, je: 16 GB RAM (nebo více) + 4 GB VRAM (nebo více) .
reakce:Emanuel Rodriguez M

mkelly

29. listopadu 2007
  • 3. května 2019
8 GB je pro dnešek dostačující, pokud nepoužíváte virtuální stroje. 16 GB je pravděpodobně tou správnou tečkou, pokud se díváte na notebook s výdrží 4-6 let. 32/64 GB je přehnaných, pokud nepoužíváte mnoho virtuálních počítačů současně nebo nemáte peníze na vypálení. M

davy

12. února 2019
  • 4. května 2019
Xcode je náročný na CPU méně na RAM. Právě jsem si koupil Mac mini 2018 i7 6 jader a když zkompiluji iOS a Swift v Xcode, CPU v monitoru aktivity jde na 90 %!
Ve stejné aplikaci vidím, že využití RAM je pod 8 GB bez swapu. Na později uvažuji o aktualizaci RAM, ale v tuto chvíli nikam nespěchám. F

Filipeteixeira

10. dubna 2013
  • 6. května 2019
Mělo by to být víc než dost. Často je to problém pouze při práci s jazyky, jako je R nebo tak. Protože tyto jazyky mají často tendenci načítat vše do paměti, což znamená, že u velkých datových sad platí, že čím více paměti RAM máte, tím lepší bude výkon.