
Marginalia Search 운영자는 최근 몇 달간 버그 수정과 기술 부채 정리에 집중했으며, 검색 색인 코드를 자바에서 C++로 옮기는 방안을 실험하고 있다고 밝혔다. 성능 개선은 아직 확인되지 않았고, 이전 작업을 계속할지도 결정하지 않았다.
운영자에 따르면 SerpApi는 한동안 프로젝트에 1만 달러를 후원했다. 올여름 이후 기부금과 API 키 판매도 매달 늘고 있다. 검색 엔진은 잘 작동하며 방향도 괜찮다고 평가했지만, 버그 수정과 최적화가 기부 증가의 원인인지는 추측이라고 덧붙였다. Claude가 작성한 것으로 보이는 검색 엔진 목록과 유튜브 영상에서 Marginalia Search를 자주 본다는 점도 최근 관심이 커진 이유일 수 있다고 했다. 다만 분석 도구가 없어 방문자가 어디서 왔는지, 이용자가 몇 명인지, 무엇을 하는지 알 수 없다고 밝혔다.
프로젝트 운영은 아직 지속적으로 자립할 정도는 아니지만, 수입 증가세를 보면 언젠가는 가능할지도 모른다고 했다. 무료 API 키 발급은 이메일이 몰리는 날 하루에 12건 넘게 요청이 들어오고, 이메일과 양식 사이에서 내용을 수동으로 옮겨야 해 일주일에서 2주가량 걸릴 때도 있다.
색인 코드를 C++로 바꾸려는 배경에는 현재 CPU가 병목이라는 점과 자바 가상 머신(JVM) 부담을 줄일 가능성이 있다. 운영자는 자바의 새 FFM API가 이전보다 크게 나아졌지만, 오프힙 메모리 처리가 여전히 불편하고 정렬·검색 알고리즘을 중복 구현하게 되며 네이티브 코드와 오가는 흐름도 복잡하다고 설명했다. 검색 엔진에서는 실행 시간 안에 순위를 매길 수 있는 결과 수가 검색 품질과 맞닿아 있어 색인 성능을 살펴보고 있다고 했다.
다만 자바 구현은 이미 최적화가 많이 돼 있고, 현재 병목이 언어에 따라 성능 차이가 크게 나는 부분은 아니라고 봐서 개선 폭이 크지 않을 수 있다고 밝혔다. 지금까지 버퍼 풀과 역색인 주요 구조 일부를 옮겼다. 작업은 구성 요소별로 천천히 진행하며, 단순 번역 대신 C++에 맞는 추상화를 찾고 있다. 버퍼 풀에는 무잠금 알고리즘을 더 활용했지만, 현재 속도라면 변환은 올해 안에 끝나지 않을 것이라고 했다. 인터페이스 경계도 정하지 않았고 공개 Git 저장소도 없으며, 계획 전체를 접을 가능성도 남아 있다.
운영자는 C++를 택한 이유로 자신이 이 언어에 익숙하고, 도구를 알고 있으며, 과거에 복잡한 프로그램을 만든 경험이 있다는 점을 들었다. 기술적으로 까다로운 작업인 만큼 익숙하지 않은 언어까지 새로 배우며 진행할 필요는 없다고 했다.
AI 코딩 모델이 변환을 한 번에 끝낼 수 있다는 주장에는 가능성이 있다고 인정했다. 코드가 충분히 테스트됐고 참조 구현도 있어 모델에 유리한 조건이라는 설명이다. 그러나 AI가 만든 코드라면 자신이 유지보수할 수 없을 것이라고 했다. 저수준 성능 최적화 코드는 직접 설계한 경우에도 이해하기 어려운데, AI가 작성한 코드를 관리하려면 구독 비용에 계속 의존해야 할 수 있다는 이유다. 이는 검색 엔진을 클라우드가 아닌 자체 하드웨어에서 운영하는 이유와도 같다고 덧붙였다.
프로젝트에 수년의 여유가 있고 투자자에게 수익을 내야 할 의무도 없어 서두를 이유가 없다고 했다. AI에 작업을 맡기면 지금까지 프로젝트를 진척시키는 데 도움이 된 문제 영역에 대한 직접적인 이해를 잃을 수 있다고 우려했다. 기대하는 것은 개발 편의성 개선과, 가능하다면 약간의 성능 향상이다. AI의 미래가 어떻게 되든 지금 당장 AI에 의존해야 할 기회비용은 뚜렷하지 않다고 봤다.
운영자는 글에서 문제 영역에 몰입하는 것에 관한 글과 테리 데이비스 관련 영상을 언급했다. 또 이 강연이 인상적이었다고 소개했다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요