8, 16, 32, 64 ГБ? Який обсяг оперативної пам’яті буде найкращим для фронтенд-розробки у 2024 році?
Software Engineer Том Смиковськи, який входить в ТОп-2% на StackOverflow замислився над тим, скільки оперативної пам’яті треба для фронтент-розробки. Пропонуємо вам переклад його його авторського блогу від нашої редакції. Далі — слово автору.
В ідеалі для більшості випадків достатньо 64 ГБ. Але є випадки, коли 128 ГБ буде набагато краще. Це божевілля!
Фронтенд-розробка, як і будь-який інший тип розробки, має певні вимоги до апаратного забезпечення, яке ви використовуєте. У цій статті я розповім вам, який обсяг оперативної пам’яті ви повинні мати і чому це важливо.
Отже, давайте почнемо з того, що таке оперативна пам’ять. Звичайний комп’ютер складається з багатьох частин, і три з них є досить важливими для фронтенд-розробки: процесор, оперативна пам’ять і диск.
Процесор
Процесор зі зрозумілих причин впливає на швидкість роботи вашого набору інструментів. Існують метрики для порівняння потужності процесорів. Це кількість ядер, швидкість одного та всіх ядер. Варто зазначити, що в деяких наборах інструментів швидкість одного ядра важливіша, ніж швидкість всіх ядер. Мені подобається UserBenchmark саме для порівняння процесорів.
Це також найменш замінна частина системи. Якщо ви купуєте ноутбук, ви не можете змінити процесор, тому ви застрягнете з ним.
У випадку зі звичайним ПК ви можете його замінити. Тому, якщо ви збираєте ПК, добре знайти плату, яка підтримує найновіший сокет для процесорів, щоб ваш процесор був десь посередині між доступними швидкостями. Через кілька років найдорожчі процесори подешевшають, і ви зможете підвищити швидкість свого комп’ютера зовсім недорого.
Люди не знають, що у процесора є ще й пам’ять. Вона називається кеш-пам’яттю процесора. Це найшвидша пам’ять, доступна процесору у вигляді комірок L1, L2, L3 і L4. Ці комірки пам’яті досить малі.
Наприклад, один з провідних процесорів сучасності має кеш L1 розміром 1280 КБ, кеш L2 — 16 МБ, а кеш L3 — 64 МБ.
Кеш використовується процесором для зберігання даних, які повинні бути доступними для обробки. Оскільки він дуже швидкий, він допомагає підвищити продуктивність.
Диск
Основним покращенням у темі дисків стала поява SSD-дисків. У порівнянні з жорсткими дисками вони досить швидкі, але за це доводиться платити вищим ризиком виходу з ладу. Тому завжди плануйте резервне копіювання.
Для фронтенд-розробки ви напевно захочете використовувати SSD. Більше того, показник, який вас дійсно повинен хвилювати, — це швидкість довільного запису. Знову ж таки, UserBechmark допоможе вам з цим.
Чому швидкість запису? Швидкість запису зазвичай є вузьким місцем кожного диска. Крім того, контролери дисків чудово оптимізують послідовне читання/запис даних, але дуже погано оптимізують довільний доступ.
Але у фронтенд-розробці інструментарій буде читати і записувати величезні обсяги даних просто заради цього. Дані знаходяться в тисячах маленьких файлів, тобто вони розкидані по всьому диску. Отже, чим швидше ваш диск записує дані у випадковому порядку, тим швидше буде працювати ваш інструментарій.
Гік-факт: SSD використовують квантове тунелювання.
Оперативна пам’ять
Зрештою, ми переходимо до середньої частини смуги пам’яті. Між кешем процесора і диском знаходиться оперативна пам’ять. Це апаратна частина, яка зберігає дані для обробки, але вона більша за кеш процесора. Крім того, вона швидша за диск, навіть SSD.
Щоразу, коли процесору потрібно виконати обробку, дані з диска потрібно копіювати в оперативну пам’ять. Тому швидкість і розмір оперативної пам’яті є важливими для хорошої роботи розробника.
Якщо говорити про швидкість, то варто звернути увагу на швидкість довільного запису. Отже, ми можемо перейти до розміру.
Проблемною частиною оперативної пам’яті є те, що її нелегко змінити. У найкращій ситуації знаходяться користувачі персональних комп’ютерів. У вас є материнська плата зі слотами для пам’яті. Тож якщо вам не вистачає оперативної пам’яті, ви просто купуєте її і міняєте. Це порівняно найдешевший спосіб підвищити продуктивність.
Це також можливо у звичайних ноутбуках. Ви просто відкручуєте кілька гвинтиків і міняєте пам’ять у слотах.
Але є також дешеві ноутбуки та ноутбуки Mac, які не пропонують такої можливості. Тож купуючи їх, будьте обережні. Оперативна пам’ять припаяна до материнської плати, і якщо вона закінчиться, доведеться купувати новий пристрій. У такому випадку краще купити на один крок більше оперативної пам’яті, ніж вам потрібно, щоб задовольнити майбутні потреби.
Чому так важливо мати багато оперативної пам’яті? Справа в тому, що, як я вже писав, дані з диска завантажуються в оперативну пам’ять для обробки. Але якщо у вас недостатньо оперативної пам’яті, кожна операційна система зберігає надлишкові дані на диску. Навіть якщо у вас є SSD, це означає, що ваша операційна система буде переміщати дані між цими пристроями, що призведе до уповільнення роботи, тому що SSD може обробити лише стільки даних, скільки він може обробити за один раз.
В ідеалі, ваш фронтенд повинен вміщуватися в оперативній пам’яті, тому на диску не створюється файл підкачки, а якщо і створюється, то він невеликий і майже не використовується.
Через специфіку оперативної пам’яті всі програми намагаються використовувати якомога більше оперативної пам’яті, тому насправді не існує верхньої межі того, скільки оперативної пам’яті ви можете встановити у вашому комп’ютері, вона, швидше за все, буде використана на 100%. Це має сенс, чим більше оперативної пам’яті використовується, тим швидше все працює. Тому ви також повинні бути розумними в цьому питанні.
Тепер, якщо мова йде про необхідну оперативну пам’ять, це залежить від вашого набору інструментів. Тому найкраще перевірити, скільки оперативної пам’яті використовують інструменти, які ви використовуєте, або порозпитувати. Можливо, колеги з вашої команди підкажуть, скільки оперативної пам’яті вам знадобиться.
У випадку з корпоративними ноутбуками, вам також доведеться взяти до уваги все встановлене програмне забезпечення для безпеки, яке буде забирати частину оперативної пам’яті (і процесора).
Останнім часом я працюю з Angular у VSCode, і ось споживання пам’яті на моєму ноутбуці:
- Angular development server: 7 GB
- VSCode (+розширення): 8 GB
- Chrome (+розширення): 9 GB
- Slack: 0,5 GB
- Figma: 0,3 GB
- MacOS: 2 GB
- Інше: 0,3 GB
Отже, це близько 30 ГБ оперативної пам’яті. Один ноутбук, який я використовую, має 16 ГБ оперативної пам’яті, а це означає, що файл підкачки завантажується на кілька секунд довше. Це означає, що система жахливо повільна, хоча вона ніби з 2023 року.
На жаль, я не можу замінити оперативну пам’ять, тому що в цій моделі цього виробника вона припаяна до материнської плати. Тому єдиним варіантом для цього є заміна пристрою на пристрій з більшим об’ємом пам’яті.
Я б обрав 32 ГБ, але, як бачите, насправді це дуже близько до того, що використовується (30 ГБ). Крім того, я не відкрив занадто багато речей. У мене є ще один сервер Angular, який я повинен запускати одночасно, іноді більше вкладок та інструментів. Так легко можна було б досягти ~40 ГБ використання.
Найбезпечнішою ставкою буде 64 ГБ, і цього повинно вистачити надовго. Ситуація, коли використовувана пам’ять вдвічі перевищує доступну оперативну пам’ять, безумовно, неприйнятна.
Але це лише мій приклад. У вашому випадку все може бути інакше. Наприклад, вам може знадобитися Docker. Він пожирає багато пам’яті. Можливо, вам знадобляться емулятори мобільних пристроїв, додаткові інструменти тощо. Кожен з цих інструментів буде займати великий шматок пам’яті.
Після того, як ви все підрахуєте, ви побачите, скільки оперативної пам’яті вам знадобиться для роботи, і не забудьте додати трохи на майбутнє.
У цій темі є цікавий пост 6-річної давнини, де зазвичай люди вказують, що для веб-розробки достатньо 8-16 ГБ оперативної пам’яті. У той час як у пості місячної давнини люди повідомляють про все від 8 до 64 ГБ. Це свідчить про те, як різко зросла потреба в оперативній пам’яті для інструментарію розробників за останні роки.
Якщо говорити про ціни, то перехід з 16 ГБ на 32 ГБ порівняно не такий вже й дорогий у порівнянні з вигодами від швидшої розробки. У найдорожчих виробників це близько $200. Оновлення з 16 ГБ до 64 ГБ коштує близько $800 у найдорожчих виробників, але знову ж таки є випадки, коли це має сенс, якщо це заощадить вам багато часу. Як ми знаємо, вартість послуг розробника досить дорога.
Отже, ось ви тут. Вся інформація викладена. На завершення скажу, що на 2024 рік для фронтенд-розробки 32 ГБ — це мінімум, 64 ГБ — ідеальний варіант, а 128 ГБ — забагато. Але в залежності від ваших конкретних налаштувань він може легко зміститися в бік 128 ГБ, що є ідеальним.
Favbet Tech – це ІТ-компанія зі 100% украінською ДНК, що створює досконалі сервіси для iGaming і Betting з використанням передових технологіи та надає доступ до них. Favbet Tech розробляє інноваційне програмне забезпечення через складну багатокомпонентну платформу, яка здатна витримувати величезні навантаження та створювати унікальний досвід для гравців.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: