Hacker News 의견
  • "Ubuntu 패키지를 재구성하고 메모리 할당기를 변경하여 90% 더 빠르게 만들기"라는 제목은 클릭베이트 같음

    • 단 하나의 패키지에 대한 이야기이며, 일부 성능 향상은 재컴파일로 실현되지 않았음
    • jemalloc을 미리 로드하여 malloc 구현을 교체한 경험이 있으며, 메모리 사용량을 안정화하는 데 긍정적인 결과를 얻었음
    • 이는 메모리 누수 문제를 해결했으며, 애플리케이션 자체의 문제가 아닌 메모리 단편화 문제였을 가능성이 높음
  • 엔지니어링은 타협의 예술임

    • 기사에서는 메모리 할당기를 전문화하여 대부분의 성능 향상을 얻었다고 설명함
    • 멀티스레드 프로젝트에서는 할당기 선택이 중요하며, 한 프로젝트에서의 속도 향상이 다른 프로젝트에서는 충돌을 일으킬 수 있음
    • 재할당 전략도 고려해야 하며, 장기적인 안정성과 단기적인 속도 사이의 선택이 필요함
    • 비디오 편집기 개발 중 다양한 할당기를 실험했으며, glibc 할당기가 장기적인 안정성을 제공함을 발견했음
  • Gentoo Linux는 사용자의 특정 용도에 맞게 최적화할 수 있도록 설계된 운영체제임

    • 초기 설정 후 사용이 간단하며, Gentoo Linux 채널에서 많은 친구를 사귀었던 기억이 있음
    • 초기 ChromeOS는 기본적으로 커스텀 Gentoo Linux 설치였음
  • jq와 같은 패키지를 수동으로 설치하면 보안 업데이트에서 제외될 수 있음

    • 예를 들어, onigurama의 보안 업데이트가 있었으며, 이러한 상황이 다시 발생하면 취약해질 수 있음
    • CVE-2017-9224 등 여러 보안 취약점이 수정된 사례가 있음
  • 비공식적인 malloc을 사용하면 이상한 버그가 발생할 수 있음

    • 개발자들이 사용하는 플래그를 넘어서면 문제가 발생할 가능성이 높음
  • 간단한 변경으로 큰 속도 향상을 얻을 수 있다는 것을 읽고 jq의 개발자에게 알리고 싶음

    • 기사는 이 옵션을 고려하지 않은 것 같으며, 댓글에서도 언급되지 않음
  • 패키지를 소스에서 컴파일하거나 공식 바이너리를 다운로드하는 것이 유익할 수 있음

    • 수동 설치 및 소스 컴파일 패키지의 업데이트 확인이 어려웠으나, 이를 해결하기 위한 도구를 개발했음
  • Rust의 "cargo install" 기능은 특정 플랫폼의 최적화를 가능하게 하여 유용함

    • jaq와 yq는 jq를 사용할 때 성능 향상을 위해 자주 사용하는 옵션임
  • 메모리 할당기를 변경한 후 Ubuntu 패키지를 재구성하여 90% 더 빠르게 만들 수 있음

    • Debian과 RedHat에서도 작동할 가능성이 있음
    • 처음에는 Ubuntu를 Linux From Scratch로 변환하는 기사인 줄 알았음