Как Apple оптимизирует работу оперативной памяти в своих MacBook
Вчерашнее заявление вице-президента Apple по маркетингу Боба Борчерса о том, что «8GB оперативной памяти в Маках эквиваленты 16GB памяти в PC», было… интересным. Говорят, Apple и ранее нечто подобное говорила, что заставило еще раз взглянут на вопрос.

Что сказал Борчерс:
Сравнение нашей памяти с памятью других систем на самом деле не является равноценным, поскольку мы настолько эффективно используем память, применяем ее сжатие и она имеет унифицированную архитектуру. На самом деле, 8 гигабайт в MacBook Pro M3, скорее всего, аналогичны 16 гигабайтам в других системах.
Мы не нашли где бы Apple именно в таких формулировках сравнивала объемы оперативной памяти на машинах Apple Silicon и Wintel. Однако вместо компании об этом говорили журналисты, блогеры и обозреватели. В частности, конечно, Джон Грубер…
Сначала — интригующий бенчмарк от Дэвида Смита, инженера компании Apple:
— Интересный факт: удержание и освобождение объекта NSObject занимает ~30 наносекунд на Intel текущего поколения, ~6,5 наносекунд на M1… и ~14 наносекунд на M1, эмулирующем Intel.
Сохранение и освобождение объекта NSObject — это низкоуровневая операция, которая является основой основ программирования Apple. Практически всё является объектами, и когда объект используется, программа сохраняет его, а когда перестает использоваться — освобождает… Сохранение и освобождение — это крошечные действия, которые постоянно выполняют практически все программы на всех платформах Apple.
..Архитектура системы Apple Silicon разработана таким образом, чтобы эти операции выполнялись как можно быстрее. Дело не столько в том, что архитектура Intel x86 плохо подходит для программных фреймворков Apple, сколько в том, что Apple Silicon спроектирована таким образом, чтобы подходить для нее специально.
Упрощая, вот существенная причина того, что компьютеры Mac M1 более эффективны при меньшем объеме оперативной памяти, чем компьютеры Intel Mac. Это сочетание программного и аппаратного обеспечения, созданного вместе. В двух словах это объясняет, почему iPhone обходит даже флагманские телефоны на базе Android, хотя у iPhone значительно меньше оперативной памяти.
Теперь, когда компьютеры Mac переходят на Apple Silicon, они могут воспользоваться тем же преимуществом.

Однако тут есть другой нюанс. Тот же Грубер далее по тексту перечисляет что у него запущено на машине (с 16GB памяти!) и говорит, что… памяти не хватило! Система подобрала еще 7GB виртуальной памяти, однако ничего не тормозит за счет высокой скорости обмена данных с накопителем.
И это другая правда: на платформе Apple Silicon очень высокая скорость обмена данными между вычислительными ядрами, памятью и накопителем, что повышает скорость работы виртуальной памяти и снижает актуальность вопроса. Вот про это обсуждают в еще одном очень интересном треде на форуме MacRumors. И там же делают замечательный вывод: в Маках М-серии оперативная память более эффективно работает с данными и при повседневной работе — много вкладок, офисные документы, браузер — пользователь не заметит проседаний в скорости независимо от того, сколько у него памяти в машине.
Однако если речь заходит о работе с большими кусками информации — обработка видео, графических документов по несколько гигабайт, серии фотографий — как эффективно ни прокручивай их в памяти, они там свои гигабайты будут занимать. И именно это происходит у профессионалов, именно поэтому мы уже не раз и не два апгрейдили машины M1 Pro с 16GB до 32 или даже 64GB — память заканчивается.
И претензия сейчас к Борчерсу ровно одна: 8GB может и можно рассматривать как 16GB, но для Pro-серии этого все равно мало. И мы можем поспорить, что когда выйдут чипы М4 (или какая-нибудь итерация М3), в базовых конфигурациях 8GB уже не будет.
















