Redis의 새 버전인 8.8이 GitHub에 공개되었습니다. 주요 특징으로는 상대적 위치에 따른 빠른 작업을 위해 설계된 Array라는 데이터 구조가 있습니다. 또한 x86_64에서 기본 활성화된 LTO, 더 효율적인 스레드 사용, FFI 오버헤드를 줄이기 위한 Rust 코드, ARM64 최적화 및 배치 사전 로딩과 같은 성능 개선이 포함되어 있습니다. 효율성을 목표로 한 업데이트입니다.
새로운 구조 및 최적화에 대한 기술적 세부 사항 🚀
Array 구조는 집합 내 위치에 따라 요소에 접근하고 수정할 수 있게 해주며, 큐나 우선순위 목록에 유용합니다. x86_64에서 LTO(링크 타임 최적화)를 통한 컴파일은 바이너리 크기를 줄이고 실행 속도를 향상시킵니다. 새로운 Rust 코드는 FFI의 중요한 부분을 대체하여 언어 간 통신의 병목 현상을 제거합니다. ARM64에서는 저전력 서버를 위한 특정 명령어가 미세 조정되었습니다. 배치 사전 로딩은 시작 시 메모리로의 데이터 로딩 속도를 높입니다.
개발자에게도 감정이 있습니다 (그리고 마감일도요) 😅
커뮤니티는 수년 동안 단순한 해시나 리스트가 아닌 데이터 구조를 요구해 왔습니다. 이제 Array가 등장했으니, 누군가는 이를 쇼핑 목록이나 냉장고 보충 순서를 저장하는 데 사용할 것입니다. Rust는 FFI 오버헤드를 줄일 것을 약속하지만, 항상 문제는 FFI가 아니라 커피 머신이라고 생각하는 사람들이 있습니다. 그리고 기본 LTO: 드디어 은퇴할 때까지 기다리지 않고 커피를 기다리는 동안 Redis를 컴파일할 수 있게 되었습니다.