요즘 램(RAM) 가격이 심상치 않다. 아니 정확히 말하자면, 쓸만한 용량을 맞추려면 지갑이 털린다. 더 절망적인 건, 글을 쓰는 이 시점이 그나마 저점일 수도 있다는 사실이다.
그런데 아이러니한 건, 하드웨어 가격은 이렇게 천정부지로 솟는데 소프트웨어의 메모리 효율은 바닥을 친다는 점이다.
문득, 몇 달 전 있었던 맥 계산기 메모리 누수 사건이 떠오른다. 단순한 버그라고 치부할 수도 있겠지만, 그게 아니더라도 '위대한' 윈도우 11은 어떤가? 윈도우가 너무 대단한 나머지 OneDrive 같은 백그라운드 프로세스가 먹어 치우는 메모리는, 오늘날 16GB 램조차 부족하게 느끼도록 만든다.
게임계는 어떨까? 처참하다 못해 기가 찰 노릇이다.
요즘 출시되는 소위 'AAA 타이틀' 게임들의 권장 사양을 보면 헛웃음이 나온다. 16GB 램은 이제 최소 사양 취급을 받고, 원활하게 돌리려면 32GB가 표준이 되어가고 있다.
그래픽이 정말 실사 수준이라서 그만큼의 리소스를 요구한다면, 백번 양보해서 이해할 수 있다. 하지만 문제는 화면에 보이는 퀄리티는 5년 전 게임과 별반 다를 게 없는데, 시스템 리소스만 괴물처럼 잡아먹는 경우가 허다하다는 것이다.
개발사들의 태도가 변했다. 과거에는 한정된 메모리에 텍스처를 우겨넣기 위해 압축 기술을 고민하고, 기적 같은 코드를 선보였다.
하지만 지금은 어떤가? "최적화? 그거 안 되면 DLSS나 FSR 켜라고 해. 아니면 유저보고 램 더 꽂으라고 하던가." (심지어 재밌는 건 그런 DLSS마저도 버그가 있는 게임이 있다는 거다.)
마치 하드웨어의 발전을 믿고 개발자가 게을러진 것만 같다. 코드를 효율적으로 짜는 '엔지니어링'을 하는 게 아니라, 유저의 지갑을 털어 하드웨어 빨로 밀어붙이는 Brute Force 방식을 택하고 있다.
물론 이게 가능했던 건, 과거의 하드웨어 가격이 개인 소비자가 감당 가능한 수준이었기 때문이다. 특히 RAM만큼은 말이다. 하지만 그건 과거형이다. 이제 많은 사람들은 RAM 용량을 타협할 수밖에 없다. 24GB, 32GB 램이 '필수'라고 쉽게 말할 수 있는 환경이 아니라는 것이다.
시장 상황은 더욱 절망적이다. AI 붐으로 인해 HBM(High Bandwidth Memory) 수요가 폭발하고 있고, 삼성전자나 SK하이닉스 같은 제조사들의 생산 라인은 일반 소비자용 DRAM보다 고수익인 HBM에 집중되고 있다. 즉, 일반 사용자가 체감할 수 있는 램 가격의 안정화는? 낙관적으로 봐도 적어도 3년은 걸릴 것이다.
이것은 개발자들에게 시사하는 바가 크다. 더 이상 사용자의 하드웨어 업그레이드 속도가 소프트웨어의 비대화를 따라잡지 못한다는 뜻이다.
Resource Management. 이제 다시 이 잊혀진 기술이 중요해질 시점이다.
하드웨어 빨로 밀어붙이는 시대는 끝났다. 제한된 리소스 안에서 퍼포먼스를 쥐어짜 내는 것. 가비지 컬렉터만 믿고 객체를 난사하지 않는 것. 자료구조의 메모리 레이아웃을 고민하는 것. 이것이 다시금 개발자의 기본 소양이 되어야 한다.
어쩌면 앞으로의 3년은, 진짜 실력 있는 엔지니어와 그렇지 못한 코더가 최적화 능력으로 갈리는 시기가 될지도 모른다.
비싼 램을 꽂은 사용자에 대한 예의. 그것은 효율적인 코드를 짜는 것에서부터 시작된다. 개발자라면, 이제는 '하드웨어' 성능이 어쩌고 저쩌고는 그만두고 코드의 성능을 먼저 생각해보아야 할 것이다.
물론 이것은 비단 개발자로서의 나 또한 피해갈 수 없는 숙명이다.
