페이스북의 메모리 할당자 jemalloc

Nowaday 2012. 9. 7. 15:16 Posted by 알 수 없는 사용자


메모리 추적에 관련된 서베이를 하던 중 재미난 글을 발견하였습니다. 페이스북에서 사용하는 메모리 할당자인 jemalloc에 대한 이야기입니다.



jemalloc 함수는 Jason Evans라는 사람에 의해 만들어 졌습니다. Jason Evans는 2009년에 페이스북에 입사하여 이 메모리 할당자를 페이스북에 사용한 것 같습니다. 이 개발자는 원래 FreeBSD 운영체제 진영의 유명한 개발자였다고 합니다. 역시 jemalloc 함수는 기본적으로 FreeBSD 운영체제에서 처음으로 사용되었던 것 같구요. 어쨋든 이 메모리 할당자는 현재 나와있는 메모리 할당자 중 성능이 가장 좋다고 알려져 있습니다. 기본적인 malloc 함수에 비해 두 배가 넘는 성능을 보인다고 합니다.


구글도 만만치 않은 메모리 할당자를 보유하고 있습니다. 바로 tcmalloc이라는 함수인데요. jemalloc 보다는 약간 느리지만 마찬가지로 malloc에 비해서는 두 배 이상의 성능을 보이고 있습니다.


참고로 jemalloc은 페이스북뿐만 아니라 사파리, 크롬 등에서도 사용되고 있습니다. 어쩐지 크롬이 빠르다고 느껴지는 이유가 여기에 있었나 봅니다.ㅋ


이 내용은 이미 2011년도에 Jason Evans님이 쓴 "Scalable memory allocation using jemalloc" 글이 트위터를 통해서 한참 돌아다녔나 봅니다. 저만 몰랐네요...-_-;


아무튼 아무리 CPU 성능이 좋아졌다지만 개발자들은 쉼없이 좋은 기술을 적용하려고 노력하고 있네요. 이런걸 만드는 사람들은 정말 사람이 맞는건가요???...


AND