Just a Blog

애플 실리콘 M1 사용 소감 본문

IT, Computer

애플 실리콘 M1 사용 소감

wehong 2020. 12. 22. 23:01

1. 성능 차이 보다는 아키텍처가 다르다는 느낌이 든다

애플 실리콘(M1)이 Intel 기반 맥에 비해 성능 향상이 크다는 평가들을 많이 했지만, 개인적으로는 성능보다는 아키텍처 변화에 인한 시스템 동작 특성이 달라졌다는 느낌이 강하게 들었다. 각종 벤치마크 테스트에서 M1 기반 시스템이 기존 모바일 기기(맥북에어, 맥북프로 등)에 비해 성능 향상됨을 보여 줬지만 기존 데스크탑 시스템에 비해 향상된 결과를 입증하지는 않았다는 점을 이해해야 한다고 본다.

독에서 한 번 바운스 되고 실행되는 앱들, 4K 해상도의 동영상도 빠르게 작업하는 데모, 순식간에 동작하는 앱 스위칭 등은 단순히 프로세싱 성능이 향상되었기 때문이라고 보기 어렵다고 본다. 프로세서 코어와 GPU, RAM 등이 밀접하게 집적된 통합 칩의 구성, 빅/리틀 구성이 효과적으로 수행되는 7~8개의 코어 등 칩의 최적화 구조, 메인 메모리 속도에 근접하는 스왑(swap) 스피드 등이 이런 것을 가능하게 한 것 처럼 보인다.

따라서 기존에 사용하던 프로세스 하나가 빠르게 동작한다는 느낌 이전에, 기존에 시간이 걸리던 구간이 짧아지고 동작 형태가 달라진 것 같다는 느낌을 많이 받았다. 즉, x86과 ARM으로 각각 빌드된 동일한 리눅스 프로그램을 각자 플랫폼으로 돌릴 때 다르게 느껴지는 느낌으로 보는 것이 맞을 것 같다.



2. 로제타(Rossetta) 2는 정말 빠르다

예전에 Intel 맥에서 PowerPC용 맥 프로그램을 최초 로제타로 구동했을 때 성능 차이가 제법 느껴졌던 기억이 있어, 처음에는 애플 실리콘용 바이너리가 포함되지 않은 앱을 구동하기가 찝찝했었다. 하지만 로제타를 설치하고 Intel 바이너리 앱을 구동해 보니 거의 네이티브 앱을 구동하는 것과 비슷해 이질감을 거의 못 느꼈다.

물론 정적(static) 바이너리 변환 하는 앱을 사용해서 그랬던 것 같은데, Java 등 동적으로 바이너리 변환을 해야 하는 경우 이 정도 성능을 못 갖출 것으로 예상한다.



3. 발열과 배터리 소모가 적기는 하다

M1 맥북에어를 처음 설치하고 이것 저것 앱을 설치하니 기기에서 발열이 없지는 않았다. 뜨겁다고 느껴질 정도는 아니었는데 열을 느낄 수 있는 수준은 되었던 것 같다. 팬이 없어서 더욱 그랬으리라 생각한다. 그래서 소문 만큼 아주 발열이 없지는 않다라고 생각하게 되었다.

그런데 이후 Intel 기반 맥북프로(2015년 형)에 macOS 업데이트(11.1로)를 하고 추가 앱들을 설치하게 되었는데, 그 때 Intel 기반 맥북프로에서 발생하는 열을 느껴보고는 M1 맥북에어는 정말 열이 없는 편이라는 것을 실감하게 되었다. 맥북프로의 키보드에서 따뜻함을 느꼈다면, 맥북프로에서 한 것 이상으로 작업했던 맥북에어에서는 미지근함을 느끼는 수준이었기 때문이다.

Intel 기반 맥북프로보다 배터리도 덜 소모했다. 하지만 워낙 소문이 좋게 난 탓에 기대가 너무 컸는지 기대보다는 조금 아쉬웠다. 소문에는 일반적인 작업으로 하루동안 충전없이 지속될 것 같다고 했는데, 거의 근접하긴 했지만 개인적인 사용에서 하루 working hour를 지속하기에 조금 부족한 듯 보였다.



4. iOS 앱 실행의 실효성은 좋으나 향후 iOS 개발자들의 지원이 필요해 보인다

ARM 기반 프로세서로 변경되면서 ARM 기반 iOS 기기의 앱들을 맥에서 구동할 수 있게 되었다. 확실하진 않지만 아마도 iOS 앱 바이너리의 인스트럭션은 그대로 실행하고 앱 구동 환경은 iOS를 모의하는 것이 아닐까 싶다.

개인적으로는 매우 효과적으로 느꼈다. 아이폰/아이패드에서 자주 사용하는 앱을 맥에서 바로 실행해 볼 수도 있어 유용했고, 맥에서 브라우저를 통해 웹에 접속해서 컨텐츠를 확인하는 대신 전용 앱으로 빠르게 보는 것이 가능해서 편리했다.

하지만 안타까운 점은 모든 iOS 앱이 잘 구동되는 것은 아니라는 것이다. 실제로 몇 개를 샘플로 구동해 보니, 매우 편하게 사용할 수 있는 앱도 있지만 제대로 동작하지 않는 앱도 다수 있었다. 앞으로는 지원이 많이 될 지도 모르겠지만 아직까지는 완벽해 보지 않아 보인다.


5. 아직까지는 애플 실리콘 미대응 앱이 많다

로제타 2의 성능이 생각보다 우수해서 그런지 모르겠지만, 이 글의 작성 시점에 애플 실리콘에 아직 대응하지 않은 앱들이 꽤 많다. 앱 스토어 앱들은 애플에서 유니버설 바이너리 (Universal Binary) 2 작성을 강요할 것이라 생각했는데 그렇지 않은 것인지, 앱 스토어에서 다운 받았는데 로제타로 구동되는 앱들도 꽤 있었다.

PowerPC에서 Intel로의 전환에서도 앱들의 대응은 시간이 걸렸던 것으로 기억한다. 현재 활발하게 개발되고 있는 앱들은 그나마 조속한 시간에 변환이 진행되겠지만, 과거에 개발이 멈춘 앱이나 개발자가 변환 의지를 가지고 있지 않은 경우는 로제타 2의 힘을 빌리는 수 밖에 없을 것이다.

문제는, 애플의 첫번째 로제타 버전이 그러했듯이, 향후 macOS의 어느 버전에서는 로제타 2가 빠질 것 가능성이 농후하다는 것이다(Mac OS X 어느 버전에서 부터 로제타가 빠져 PPC용 'Neverwinter Nights' 게임을 Intel 맥에서 못 돌렸던 기억이 난다). 그렇게 되면 반드시 구동해야 하는 앱이 Intel 기반 바이너리인데 그것을 향후 몇 년간 운영해야 한다면 Intel 기반 맥을 버릴 수 없게 된다.



6. 특정 분야 개발에는 적합하지 않을지도 모르겠다

이 글의 작성 시점에 애플 실리콘 대응 Java 환경은 Zulu가 유일하다(개인적으로는 AdoptOpneJDK의 포팅을 기다리는 중). Java의 특성 때문에 Intel 용 JVM에서 구동되는 Java 앱은 로제타 2로 쾌적하게 구동되지 않는다고 한다.

이 글의 작성 시점에 Xcode를 제외한 통합 개발환경과 텍스트 에디터도 애플 실리콘 대응을 찾을 수 없었다. IntelliJ Idea나 Android Studio는 Java 기반이어서 로제타로도 원활히 구동되지 않으며, Visual Studio Code도 아직까지는 Intel용 바이너리만 존재했으며, Sublime Text 3도 대응하지 않고 있다(Sublime Text는 버전 4에서 네이티브로 제공될 것으로 보인다).

특히 맥에서 command line 유틸리티나 직접 빌드를 통해 앱을 설치하기 위한 Homebrew도 (이 글의 작성 시점에) 아직 ARM64 환경 대응이 완료되지 않은 듯 하다.

이런 요소들을 종합해 볼 때, 맥을 개발용으로 사용한다면 자신의 개발환경이 애플 실리콘 맥에서 원활히 지원되는지 확인해 볼 필요가 있다고 본다. 적어도 이 글을 쓰고 있는 시점에는 좀 부족해 보인다.


Comments