Форуми

Достатъчни ли са 8 GB RAM за програмиране?

имакедонски

Оригинален плакат
10 октомври 2015 г
Бърно, Чехия
  • 15 декември 2018 г
Здравей.

Сериозно обмислям да взема MacBook Pro 13' 2018. Основното използване на лаптопа би било за кодиране (разработка на преден край), но бих искал да се потопя в разработката на приложения за iOS по-късно. С това казано, достатъчни ли са 8 GB RAM за стартиране на XCODE или трябва да инвестирам още, за да получа версията от 16 GB?

ревмаджия

20 октомври 2018 г


ИЗПОЛЗВА
  • 15 декември 2018 г
iMacedonian каза: Здравейте.

Сериозно обмислям да взема MacBook Pro 13' 2018. Основното използване на лаптопа би било за кодиране (разработка на преден край), но бих искал да се потопя в разработката на приложения за iOS по-късно. С това казано, достатъчни ли са 8 GB RAM за стартиране на XCODE или трябва да инвестирам още, за да получа версията от 16 GB?
Пускам Xcode на моя Mac mini 2014 - има 4GB RAM и не виждам никакви проблеми. Ще има хора, които ще ви кажат, че 16 GB или повече RAM е задължителна, но видях, че това просто не е вярно.
Реакции:jeremiah256, racerhomie, BigMcGuire и още 1 човек

Емануел Родригес

17 октомври 2018 г
  • 15 декември 2018 г
revmacian каза: Пускам Xcode на моя Mac mini 2014 - той има 4GB RAM и не виждам никакви проблеми. Ще има хора, които ще ви кажат, че 16 GB или повече RAM е задължителна, но видях, че това просто не е вярно.
Съгласен. Открих, че дори Raspberry Pi с единичния си гиг RAM е в състояние да компилира повечето неща. Ако даден проект има много C++ код (като ви гледа LLVM) или други сложни езици (изисква компилаторът да работи усилено и по този начин да използва повече RAM), тогава той обикновено не може да го управлява. Изглежда, че около 3GB е безопасен минимум за разработка, според моя опит.

РЕДАКТИРАНЕ: Въпреки че имайте предвид, че това беше 3GB във VM, без GUI. Опцията 8GB определено е безопасна засега. Бих препоръчал 16GB само за защита в бъдещето. 8GB започва да става по-малко удобно, отколкото в миналото. Последна редакция: 15 декември 2018 г
Реакции:BigMcGuire, jaduff46 и iMacedonian ДА СЕ

Амулдер

18 декември 2015 г
  • 16 декември 2018 г
Колко дълго планирате да държите машината? Тъй като паметта не може да бъде надстроена, вие наистина купувате за колко памет ще ви трябва след 3-5 години, а не днес. (Имайки предвид, че всяка версия на инструменти за разработка използва повече памет от предишната.) Особено ако в крайна сметка използвате контейнери или виртуални машини (напр. за стартиране на локална версия на някакъв бекенд, към който се свързва приложението ви), производителността твърде малко памет по-късно не си струва спестяването на разходи сега.
Реакции:jeremiah256, racerhomie, iMacedonian и още 1 човек

кучешки лигав

19 октомври 2014 г
Apple Campus, Купертино, Калифорния
  • 16 декември 2018 г
Спомнете си програмирането в 4K през 1976 г.
Реакции:PhilMacbook

960 дизайн

17 април 2012 г
Дестини, Флорида
  • 17 декември 2018 г
iMacedonian каза: Здравейте.

Сериозно обмислям да взема MacBook Pro 13' 2018. Основното използване на лаптопа би било за кодиране (разработка на преден край), но бих искал да се потопя в разработката на приложения за iOS по-късно. С това казано, достатъчни ли са 8 GB RAM за стартиране на XCODE или трябва да инвестирам още, за да получа версията от 16 GB?
8GB е достатъчно, аз използвам 16GB MBPr и рядко виждам, че налягането в паметта скача над 8GB.

Като настрана, проверете в Expo.io ( https://expo.io/ ). Това е, което всички готини деца използват в наши дни (толкова по-лесно за внедряване на множество платформи). Предупреждение: ще работи за повечето приложения, но някои имат специфични хардуерни изисквания / нужди, които expo няма да изпълни. Все пак фантастично изходно място.
Реакции:имакедонски Дж

jtara

23 април 2009 г
  • 17 декември 2018 г
Определете какво разбирате под „достатъчно“?

Имате предвид „достатъчно, за да не се провалят компилациите?“

Или „достатъчно, така че изграждането да бъде завършено в приемлив срок“?

И/или „достатъчно, така че потребителският интерфейс да не е изостанал и да мога да работя в редактор/да преглеждам в мрежата/четем имейли по време на изграждане без мудност?

Зависи от вашите очаквания и вашата верига от инструменти.

Разработката на Frontend обикновено има кратка/проста верига от инструменти. Всичко, от което наистина се нуждаете, е добър редактор, подходящ за задачата, някакъв малък уеб сървър „играчка“, може би някои инструменти за минимизиране на Javascript/CSS (и може би Sass компилатор) за производствени компилации и по време на разработката обикновено дори не бихте използвали че.

Разработката на бекенд често може да се нуждае от не повече от разработка на преден край. Или може да се наложи доста повече. Например, използвам PostgreSQL като база данни. И така, имам локален екземпляр за разработка/тест. Пускам pgAdmin4, който работи в Docker контейнер. Може да се наложи да стартирате виртуална машина, която репликира вашата бекенд среда. GB се сумират.

Разработването на собствени приложения често се извършва с минимални инструменти. За основна разработка на приложения за iOS не ви трябва нищо повече от Xcode. Добре, и симулаторът на iOS. Ако правите някакъв вид хибридна, кросплатформена разработка, вероятно добавете допълнителни компоненти на веригата от инструменти - и по необходимост Android SDK и инструменти за изграждане. Разработката на Android използва различен компилатор. Добавете друг симулатор. (Използвам GenyMotion, тъй като и двата подхода, предоставени от Google, са бавни като меласа.) Всеки приличен симулатор на Android работи във VM.

О, трябва ли да тествате този уебсайт на Windows? Добавете Windows VM.

Толкова много инструменти днес работят в контейнер или виртуална машина. Това добавя към изискването за памет.

Вземете толкова памет, колкото може да издържи бюджетът ви. Мисля обаче, че 64GB е практическата граница днес за повечето разработки. Наскоро получих iMac Pro с 64GB за разработка. Използвам голям набор от инструменти. Проверявах Activity Monitor и открих, че все още не съм използвал суап файл. Но след като всички инструменти се заредят, използвам някъде между 32GB и 64GB, обикновено 40-50GB. Но всъщност още не съм заредил ВСИЧКО наведнъж.

Това, което трябва да се запитате е:

- Важно ли е системата да реагира по време на изграждане?
- Колко дълъг цикъл на изграждане сте готови да толерирате?

При разработката на преден край обикновено нямате „цикъл на изграждане“, тоест изграждане/тест/повторение. Колко време сте готови да чакате, за да разберете, че сте направили проста грешка, която ще отнеме няколко секунди, за да се коригира? 15 минути? 5 минути? 1 минута? 30 секунди?

При разработването на приложения с помощта на компилиран език винаги имате цикъл на изграждане и той може да бъде значителен. Разбирам, че цикълът на изграждане на Swift е значително по-дълъг от цикъла на изграждане на Objective-C. (Аз самият не използвам Swift, защото се занимавам с хибридна разработка, а основният код на платформата е в Objective-C (Java за Android), C и C++ - без Swift).

Количеството налична RAM ще има значително влияние върху времето на цикъла на изграждане.
Реакции:tegranjeet, quietstormSD, Anony-mouse и още 1 човек М

mpe

3 септември 2010 г
  • 17 декември 2018 г
Потребител на iMac Pro с 32 GB тук.

да. 8GB RAM са достатъчни за повечето неща.
Реакции:имакедонски Дж

jtara

23 април 2009 г
  • 17 декември 2018 г
mpe каза: Да. 8GB RAM са достатъчни за повечето неща.

MacBook Pro използва ли системна памет за дисплея?

8GB със сигурност не са достатъчни за - например - Mac Mini, тъй като доста добра част (в зависимост от модела) от това се използва за дисплея.

Най-важната обратна връзка, дадена тук, е, че на последните MacBook паметта е запоена. Вземате решение за следващите няколко години.
Реакции:имакедонски

Toutou

да се
6 януари 2015 г
Прага, Чешка Република
  • 17 декември 2018 г
Ако имате ограничен бюджет (и в това няма нищо срамно), 8 концерта ще са достатъчни. Въпреки че някои инструменти за разработка са доста натоварени с RAM (*кашлица* Android Studio *кашлица*), моят 4 концерта 2013 Pro все още може да се използва. И моят работещ ThinkPad, на който разработвам Rails (в RubyMine, в Linux) работи като чар с 8 концерта.
Реакции:имакедонски

имакедонски

Оригинален плакат
10 октомври 2015 г
Бърно, Чехия
  • 17 декември 2018 г
jtara каза: Определете какво имате предвид под „достатъчно“?

Имате предвид „достатъчно, за да не се провалят компилациите?“

Или „достатъчно, така че изграждането да бъде завършено в приемлив срок“?

И/или „достатъчно, така че потребителският интерфейс да не е изостанал и да мога да работя в редактор/да преглеждам в мрежата/четем имейли по време на изграждане без мудност?

Зависи от вашите очаквания и вашата верига от инструменти.

Разработката на Frontend обикновено има кратка/проста верига от инструменти. Всичко, от което наистина се нуждаете, е добър редактор, подходящ за задачата, някакъв малък уеб сървър „играчка“, може би някои инструменти за минимизиране на Javascript/CSS (и може би Sass компилатор) за производствени компилации и по време на разработката обикновено дори не бихте използвали че.

Разработката на бекенд често може да се нуждае от не повече от разработка на преден край. Или може да се наложи доста повече. Например, използвам PostgreSQL като база данни. И така, имам локален екземпляр за разработка/тест. Пускам pgAdmin4, който работи в Docker контейнер. Може да се наложи да стартирате виртуална машина, която репликира вашата бекенд среда. GB се сумират.

Разработването на собствени приложения често се извършва с минимални инструменти. За основна разработка на приложения за iOS не ви трябва нищо повече от Xcode. Добре, и симулаторът на iOS. Ако правите някакъв вид хибридна, кросплатформена разработка, вероятно добавете допълнителни компоненти на веригата от инструменти - и по необходимост Android SDK и инструменти за изграждане. Разработката на Android използва различен компилатор. Добавете друг симулатор. (Използвам GenyMotion, тъй като и двата подхода, предоставени от Google, са бавни като меласа.) Всеки приличен симулатор на Android работи във VM.

О, трябва ли да тествате този уебсайт на Windows? Добавете Windows VM.

Толкова много инструменти днес работят в контейнер или виртуална машина. Това добавя към изискването за памет.

Вземете толкова памет, колкото може да издържи бюджетът ви. Мисля обаче, че 64GB е практическата граница днес за повечето разработки. Наскоро получих iMac Pro с 64GB за разработка. Използвам голям набор от инструменти. Проверявах Activity Monitor и открих, че все още не съм използвал суап файл. Но след като всички инструменти се заредят, използвам някъде между 32GB и 64GB, обикновено 40-50GB. Но всъщност още не съм заредил ВСИЧКО наведнъж.

Това, което трябва да се запитате е:

- Важно ли е системата да реагира по време на изграждане?
- Колко дълъг цикъл на изграждане сте готови да толерирате?

При разработката на преден край обикновено нямате „цикъл на изграждане“, тоест изграждане/тест/повторение. Колко време сте готови да чакате, за да разберете, че сте направили проста грешка, която ще отнеме няколко секунди, за да се коригира? 15 минути? 5 минути? 1 минута? 30 секунди?

При разработването на приложения с помощта на компилиран език винаги имате цикъл на изграждане и той може да бъде значителен. Разбирам, че цикълът на изграждане на Swift е значително по-дълъг от цикъла на изграждане на Objective-C. (Аз самият не използвам Swift, защото се занимавам с хибридна разработка, а основният код на платформата е в Objective-C (Java за Android), C и C++ - без Swift).

Количеството налична RAM ще има значително влияние върху времето на цикъла на изграждане.
Благодаря за този подробен отговор, той ми даде по-добра перспектива за ресурсите, необходими за тези различни сценарии на кодиране, които споменахте.
[doublepost=1545084766][/doublepost]
ammulder каза: Колко дълго планирате да държите машината? Тъй като паметта не може да бъде надстроена, вие наистина купувате за колко памет ще ви трябва след 3-5 години, а не днес. (Имайки предвид, че всяка версия на инструменти за разработка използва повече памет от предишната.) Особено ако в крайна сметка използвате контейнери или виртуални машини (напр. за стартиране на локална версия на някакъв бекенд, към който се свързва приложението ви), производителността твърде малко памет по-късно не си струва спестяването на разходи сега.
Моите лаптопи обикновено издържат 4-6 години или дори повече, така че въз основа на това, което прочетох досега, може би е най-добре да взема версията от 16 GB, ако искам да увелича максимално използването. ДА СЕ

Анонимна мишка

25 август 2016 г
  • 17 декември 2018 г
jtara каза: Определете какво имате предвид под „достатъчно“?

(отрязване)

Толкова много инструменти днес работят в контейнер или виртуална машина. Това добавя към изискването за памет.

Вземете толкова памет, колкото може да издържи бюджетът ви. Мисля обаче, че 64GB е практическата граница днес за повечето разработки. Наскоро получих iMac Pro с 64GB за разработка. Използвам голям набор от инструменти. Проверявах Activity Monitor и открих, че все още не съм използвал суап файл. Но след като всички инструменти се заредят, използвам някъде между 32GB и 64GB, обикновено 40-50GB. Но всъщност още не съм заредил ВСИЧКО наведнъж.

Това, което трябва да се запитате е:

- Важно ли е системата да реагира по време на изграждане?
- Колко дълъг цикъл на изграждане сте готови да толерирате?

При разработката на преден край обикновено нямате „цикъл на изграждане“, тоест изграждане/тест/повторение. Колко време сте готови да чакате, за да разберете, че сте направили проста грешка, която ще отнеме няколко секунди, за да се коригира? 15 минути? 5 минути? 1 минута? 30 секунди?

При разработването на приложения с помощта на компилиран език винаги имате цикъл на изграждане и той може да бъде значителен. Разбирам, че цикълът на изграждане на Swift е значително по-дълъг от цикъла на изграждане на Objective-C. (Аз самият не използвам Swift, защото се занимавам с хибридна разработка, а основният код на платформата е в Objective-C (Java за Android), C и C++ - без Swift).

Количеството налична RAM ще има значително влияние върху времето на цикъла на изграждане.

Това до голяма степен го обобщава. Ако трябва да стартирате VM, тогава 8 GB са изпълними (можете да стартирате една VM удобно в 8 GB RAM). Ако имате SSD, разликата в скоростта между наличието на 8 GB спрямо повече RAM няма да е много очевидна, освен ако не използвате голям брой виртуални машини и/или се опитвате да компилирате огромна кодова база. ° С

Конструирайте

23 юни 2010 г
  • 17 декември 2018 г
Разликата между машина с 8GB и 16GB машина е, че понякога ще трябва да вземете съзнателни решения кои приложения, които са гладни за памет, да оставите на преден план.

Гладните за памет приложения като XCode и Android Studio ще се справят добре в 8GB. Проблемът ще дойде, ако се опитате да стартирате Slack, свързан с множество групи, като същевременно оставите Chrome отворен с множество раздели или може би VM система за стартиране на някои Docker контейнери. Това е паралелността, която причинява проблемите.

Ако можете да си позволите скока до 16GB и планирате да запазите тази машина за известно време, мисля, че напълно си заслужава за защита в бъдеще. Ако допълнителните разходи са достатъчни, за да ви накарат да помислите два пъти, тогава забравете за това и просто направете 8GB. Ще бъдеш щастлив така или иначе.
Реакции:Анонимна мишка

ревмаджия

20 октомври 2018 г
ИЗПОЛЗВА
  • 17 декември 2018 г
jtara каза: 8GB със сигурност не са достатъчни за - например - Mac Mini, тъй като доста добра част (в зависимост от модела) от това се използва за дисплея.

Както казах по-рано, стартирам Xcode на моя Mac mini 2014 - той има 4GB RAM и не виждам никакви проблеми. Ако мога да кодирам удобно с 4GB, тогава 8GB са достатъчно. Дж

jtara

23 април 2009 г
  • 30 декември 2018 г
kadammanali987 каза: (Хората често поддържат приложение за компилиране и играят игри до този момент. Това забавя обработката)

Или можете просто да ускорите цикъла на компилиране-връзка-изпълнение до точката, в която отнема не повече от здравословно издигане на задника си от стола за няколко минути.

Една част от това е наличието на достатъчно памет, за да може компилаторът да работи ефективно, с минимално/без размяна.

Това, че МОЖЕТЕ, не означава, че ТРЯБВА. Трябва да решите колко ценно е вашето време.

Определящият момент за това уравнение за мен беше преди много, много години. Продукт, наречен Instant-C. Това намали този цикъл от няколко минути на няколко секунди. Това ме вдъхнови да намаля цикъла на компилиране-връзка-изпълнение за приложение, което симулира и анализира вариации (от модел, първоначално написан на Fortran) в механични възли от 1/2 час на по-малко от минута. (Добре, изневерих - премахнах цикъла на компилиране-връзка-изпълнение... като написах компилатор, специфичен за домейна и придружаващ интерпретатор на байткод) 35 години по-късно, това все още е преобладаващото решение за този домейн.

Както и да е, ОП взе своето решение - мисля, че е мъдро.

BTW, ако все още използвах моя i7 Mini от 2012 г. за компилации, щях да използвам Ramdisk. Времето за изграждане на Mini ми е приблизително наполовина. Изпробвах го на моя нов iMac Pro, но нямах същото въздействие. Страхувам се, че не се сетих да пробвам ramdisk, докато не взех iMac Pro. MacOS всъщност няма страхотни решения за RamDisk. Mini има 16GB. Няма марж за ramdisk на машина с 4GB. (iMac Pro има 64GB).

vbctv

да се
25 септември 2013 г
Кливланд, Охайо
  • 2 май 2019 г
jtara каза: MacBook Pro използва ли системна памет за дисплея?

8GB със сигурност не са достатъчни за - например - Mac Mini, тъй като доста добра част (в зависимост от модела) от това се използва за дисплея.

Най-важната обратна връзка, дадена тук, е, че на последните MacBook паметта е запоена. Вземате решение за следващите няколко години.

Имам Mac Mini от 2018 г., свързан към 2 монитора и имам 8 GB RAM, никога не виждам проблеми и върша както разработката на Android Studio, така и Xcode, плюс стартирам MAMP Pro във фонов режим. Мониторът за налягане на паметта никога не се повишава и винаги остава зелен и нисък. Обсъждах надстройка до 16GB, но всъщност не виждам нужда, освен ако не намеря убийствена сделка в продажба.... ° С

ChromeCloud

21 юни 2009 г
Италия
  • 2 май 2019 г
Открих, че повечето отговори досега са подвеждащи.

Когато се опитвам да използвам моя MacBook Air с 4GB RAM за разработване на приложения за iOS (говоря за истински приложения, а не само за малки демо проекти), изживяването става доста разочароващо много бързо. Само отваряне на Xcode и Safari с 3 или 4 раздела ще насити напълно вашата RAM памет (не забравяйте, че системата сама по себе си отнема около 2 GB) и използването на симулатора за отстраняване на грешки в приложенията ви е почти невъзможно (компютърът се забавя до точката да не реагира).

С 8GB ще се оправиш. Но не за дълго. Да кажем, че 8GB е минимумът за удобно стартиране на пълния пакет за разработка на iOS + няколко приложения отстрани, ако искате да имате като изискан текстов редактор или някои инструменти за създаване на векторна графика например.

Така че, ако трябваше да купя нова машина сега и да я запазя за следващите 3 години или повече, щях да получа поне 16 GB RAM.

Още една дума за предупреждение: никога не бих очаквал това преди няколко години, когато купих моя iMac (който има 32 GB RAM и е основната ми работна станция), но изглежда, че ако искате да стартирате симулатора, без целия GUI да заекне, VRAM (известна още като видео памет) също играе важна роля в уравнението.

За retina iMac, 2GB видеокарта няма да е достатъчна, за да работи всичко безпроблемно: на всеки няколко секунди буферът се запълва (изпитвам това само докато стартирам симулатора) и iMac замръзва за част от секундата, докато го се изпразва и пълни отново. Супер досадно е.

Така че моята препоръка за нещо, върху което можете да работите удобно през следващите 3 години, е: 16 GB RAM (или повече) + 4 GB VRAM (или повече) .
Реакции:Емануел Родригес М

mkelly

29 ноември 2007 г
  • 3 май 2019 г
8 GB са достатъчни за днес, стига да не използвате виртуални машини. 16 GB е може би най-сладкото място, ако гледате лаптопа издържащ 4-6 години. 32/64 GB е излишно, освен ако не използвате много виртуални машини едновременно или нямате пари за изгаряне. М

тълпи

12 февруари 2019 г
  • 4 май 2019 г
Xcode е тежък за процесора по-малко за RAM. Току-що купих Mac mini 2018 i7 6 ядра и когато компилирам iOS и Swift в Xcode, процесорът в монитора на активността отива на 90%!
В същото приложение виждам, че използването на RAM е под 8 GB без смяна. За по-късно мисля да актуализирам RAM паметта, но в момента не бързам. Ф

Филипетейшейра

10 април 2013 г
  • 6 май 2019 г
Трябва да е повече от достатъчно. Често това е проблем само когато работите с езици като R или така. Тъй като тези езици често са склонни да зареждат всичко в паметта, което означава, че с големи набори от данни, колкото повече RAM имате, толкова по-добре ще работи.