쌓인 기록에서 찾기
무엇을 찾으세요? 날짜를 몰라도 됩니다. 제목·Key Point·요약·태그를 한꺼번에 뒤집니다.
검색 범위 2026년 8월 13일 (목) 부터 2026년 11월 1일 (일)까지 3725건
14건 · "GCC"조건 지우기 ×
001 00:11 ▲ 119 · 댓글 22 GCC의 switch 문 컴파일 전략: 점프 테이블·비트셋·결정 트리 GCC는 switch 문을 세 가지 방식으로 변환한다: 점프 테이블, 비트셋 테스트, 비교 트리이며, 어느 전략을 쓸지는 사건의 밀도와 개수에 따라 결정된다. 인프라 · 데브옵스 · Switch Lowering in GCC
Key Point GCC가 switch 문을 어떻게 변환하는지 이해하면, 코드를 작성할 때 컴파일러가 생성하는 기계 코드의 성능을 예측할 수 있고, 최적화가 필요한 부분을 의도적으로 설계할 수 있다.
핵심 요약
GCC는 switch 문을 세 가지 방식으로 변환한다: 점프 테이블, 비트셋 테스트, 비교 트리이며, 어느 전략을 쓸지는 사건의 밀도와 개수에 따라 결정된다. 점프 테이블은 사건이 조밀할 때(입력값 8개당 사건 레이블 1개 이상) 사용되며, 함수 포인터 배열처럼 동작하여 빠른 디스패치를 가능하게 한다. GCC는 연속된 사건들을 묶어서 처리하며, 점프 테이블 크기가 '비교 횟수 × 8'을다면 비용-효율적이라고 판단한다(크기 최적화 시에는 × 2). 전체 요약 9문장 읽기 → 002 06:11 당일 +157 멀티코어 최적화 물리 엔진, Jolt Physics 오픈소스 공개 C++로 작성된 멀티코어 친화적 강체 물리·충돌 감지 라이브러리로, 호라이즌 포비든 웨스트와 데스 스트랜딩 2 온 더 비치에 사용됐다. 하드웨어 · 시스템 · jrouwe/JoltPhysics · C++
Key Point AAA 게임(호라이즌, 데스 스트랜딩 2)에 검증된 물리 엔진이 오픈소스로 공개되어 게임 개발자가 직접 활용할 수 있게 됐다.
핵심 요약
C++로 작성된 멀티코어 친화적 강체 물리·충돌 감지 라이브러리로, 호라이즌 포비든 웨스트와 데스 스트랜딩 2 온 더 비치에 사용됐다. 게임이 여러 스레드에서 동시에 실행되는 점을 감안해 설계했으며, 배경 스레드에서 물리 본체를 로딩·언로딩하거나 수정할 때 시뮬레이션을 차단하지 않는다. 충돌 쿼리를 시뮬레이션과 병렬로 실행할 수 있고, 광역 판정(광역 충돌)을 사전에 수행한 후 세밀한 판정(협역 충돌)을 배경에서 처리해 긴 작업을 여러 프레임에 분산시킨다. 전체 요약 11문장 읽기 → 003 16:56 ▲ 620 · 댓글 215 DeepSeek, 자체 추론 엔진 오픈소스로 공개 딥시크가 자사 대규모 서비스에 쓰이는 고성능 추론 프레임워크 DeepInfer를 오픈소스로 공개했다. AI · 머신러닝 · DeepSeek just open-sourced its inference engine
Key Point 딥시크의 대규모 서빙에 검증된 고성능 추론 엔진이 오픈소스화되어, LLM 배포를 다루는 개발자들이 프로덕션 수준의 최적화 기법을 직접 활용할 수 있게 되었다.
핵심 요약
딥시크가 자사 대규모 서비스에 쓰이는 고성능 추론 프레임워크 DeepInfer를 오픈소스로 공개했다. 지원 모델은 DeepSeek-V4.1-Flash이며, FlashMLA, DeepGEMM, DeepEP 등 최적화된 커널과 MoE 전문가 병렬화, 비동기 스케줄링, 배치 불변 추론 등 대규모 서빙에 필요한 핵심 기능을 포함한다. DSpark와 신뢰도 기반 검증으로 드래프트 토큰을 통해 디코딩을 가속화하며, 설정 파라미터로 최대 드래프트 길이(기본값 5)를 조절할 수 있다. 전체 요약 9문장 읽기 → 004 06:11 ▲ 110 · 댓글 106 C++26 계약(Contracts)으로 함수의 요구사항과 보장을 명시하기 C++26에서 도입된 계약(Contracts)은 함수의 요구사항과 보장을 코드에 직접 표현하는 기능으로, 기존 assert의 한계를 극복한다. 오픈소스 · 도구 · C++26 Contracts: Introduction to Preconditions and Postconditions
Key Point C++26 계약은 assert를 대체하는 표준화된 언어 기능으로, API 요구사항을 선언부에 명시하고 평가 의미를 선택할 수 있으므로 C++ 코드의 안전성과 가독성을 근본적으로 바꿀 것으로 예상된다.
핵심 요약
C++26에서 도입된 계약(Contracts)은 함수의 요구사항과 보장을 코드에 직접 표현하는 기능으로, 기존 assert의 한계를 극복한다. precondition(pre)은 함수 진입 시 성립해야 할 조건을, postcondition(post)은 정상 반환 시 성립해야 할 조건을 명시하며, 함수 선언부에 작성할 수 있어 API 문서로도 기능한다. 전통적 assert와 달리 계약은 선언부와 정의부에 분리 작성 가능하고, 첫 선언이 계약을 확립하므로 헤더 파일의 선언에서 모든 요구사항을 볼 수 있다. 전체 요약 11문장 읽기 → 005 00:11 ▲ 119 · 댓글 85 표준 C는 존재하지 않는다 GCC와 Clang은 표준 C와 실제 동작이 다른 여러 비표준 확장을 기본으로 지원하며, 실무에서 쓰이는 C는 표준 명세와 멀어지고 있다. 기타 · Your C is not standard C
Key Point 업계 표준인 GCC/Clang이 C 표준을 준수하지 않으면서, 실무 개발자들은 부지불식간에 비표준 코드를 작성하고 있기 때문이다.
핵심 요약
GCC와 Clang은 표준 C와 실제 동작이 다른 여러 비표준 확장을 기본으로 지원하며, 실무에서 쓰이는 C는 표준 명세와 멀어지고 있다. asm 키워드를 표준 C에서는 예약어로 취급하지 않아 유효한 식별자로 쓸 수 있지만, GCC와 Clang은 기본적으로 이를 확장 키워드로 인식한다. 표준은 FLT_ROUNDS 매크로가 실행 중에 fesetround() 함수로 변경된 부동소수점 반올림 모드를 반영해야 한다고 명시하지만, GCC는 항상 1(nearest)로 고정값을 제공한다. 전체 요약 7문장 읽기 → 006 00:11 ▲ 122 · 댓글 47 Libreboot 26.10 공개, UEFI·크롬북 지원 추가 오픈소스 부팅 펌웨어 Libreboot 26.10 '오미너스 올리브' 버전이 공개되었으며, EDK2 기반 UEFI 지원과 MrChromebox로부터 233개 크롬북 모델이 추가되었다. 오픈소스 · 도구 · Libreboot 26.10 "Ominous Olive" released with UEFI, Chromebook support
Key Point 오픈소스 펌웨어의 역사적 전환점으로, 완전한 UEFI 지원 추가와 AI 폐지 정책 수립이 프로젝트의 철학적·기술적 방향을 명확히 보여준다.
핵심 요약
오픈소스 부팅 펌웨어 Libreboot 26.10 '오미너스 올리브' 버전이 공개되었으며, EDK2 기반 UEFI 지원과 MrChromebox로부터 233개 크롬북 모델이 추가되었다. 기존 GRUB·SeaBIOS 페이로드를 EFI 버전으로 대체하고 EDK2를 기본값으로 설정했으며, 이전 세팅과의 하위 호환성을 위해 두 페이로드를 부트 메뉴에서 접근 가능하도록 제공한다. 거의 모든 64비트 대응 하드웨어(ThinkPad X200, T480 등)에서 EDK2를 사용하며, 32비트 전용 메인보드는 기존 방식을 유지한다. 전체 요약 15문장 읽기 → 007 21:11 ▲ 156 · 댓글 41 LineageOS 24.0 공개, Android 17 기반으로 빠르게 적용 LineageOS가 Android 17 기반 24.0 버전을 공개했으며, 6월 Android 17 공개 후 이전 세대의 대규모 리팩토링 대비 예상보다 빠르게 재구성을 완료했다. 인프라 · 데브옵스 · LineageOS 24.0
Key Point Linux 커널 4.4/4.9 기기 지원을 조건부로 축소하고 베어메탈 x86_64까지 지원하는 등 플랫폼의 복잡도를 줄이면서 개발자 경험은 개선한 구체적인 전략이 담겨 있다.
핵심 요약
LineageOS가 Android 17 기반 24.0 버전을 공개했으며, 6월 Android 17 공개 후 이전 세대의 대규모 리팩토링 대비 예상보다 빠르게 재구성을 완료했다. 2025년 8월부터 2026년 10월까지의 보안 패치가 18.1~24.0에 병합되었고, 레거시 브랜치(15.1, 16.0, 17.1)도 2025년 11월 보안 패치까지 적용되었다. Canvas 이미지 편집기, Catapult TV 런처, Etar 달력 등 주요 앱들이 Material Design 3로 업데이트되었으며, Updater는 A/B 파티션 기기에서 스트리밍 방식으로 설치해 설치 시간을 단축했다. 전체 요약 12문장 읽기 → 008 03:11 ▲ 100 · 댓글 82 Homebrew를 100배까지 빠르게 쓰는 zerobrew 공개 Homebrew와 호환되는 패키지 매니저 zerobrew를 macOS와 Linux에서 공개했다. 오픈소스 · 도구 · A 100x faster* alternative to homebrew
Key Point Homebrew 사용자에게 설치 속도 개선이 직결되어 있으며, 캐시된 패키지 재설치 시 최대 252배 향상은 의존성이 많은 프로젝트 세팅에서 개발 경험을 크게 바꿀 수 있다.
핵심 요약
Homebrew와 호환되는 패키지 매니저 zerobrew를 macOS와 Linux에서 공개했다. 설치, 업그레이드, 번들 관리 등 Homebrew와 같은 인터페이스를 제공하고, curl 한 줄 또는 Homebrew로 설치할 수 있다. 성능 벤치마크에서 100개 패키지 설치 시 콜드(캐시 없음) 기준 6.6배, 웜(캐시 있음) 기준 68배 빠르며, 개별 패키지는 웜 설치에서 최대 252배까지 빠르다. 전체 요약 11문장 읽기 → 009 21:11 당일 +279 에픽게임즈, 자체 제작 디버거 RAD Debugger 오픈소스 공개 에픽게임즈가 RAD Debugger를 공개했으며, 현재 Windows x64 로컬 디버깅만 지원하고 향후 Linux와 DWARF 지원을 계획 중인 알파 단계 상태다. 기타 · EpicGames/raddebugger · C
Key Point 에픽게임즈가 수년간 자사 게임 개발에 사용해온 대형 프로젝트 최적화 디버거와 링커를 완전 오픈소스로 공개함으로써, 대규모 C/C++ 프로젝트 개발자들이 성능 최적화된 디버깅 도구를 활용할 수 있게 되었습니다.
핵심 요약
에픽게임즈가 RAD Debugger를 공개했으며, 현재 Windows x64 로컬 디버깅만 지원하고 향후 Linux와 DWARF 지원을 계획 중인 알파 단계 상태다. 디버거는 네이티브 유저모드 멀티프로세스 그래픽 기반으로 동작하며, PDB 포맷의 디버그 정보를 파싱해 사용한다. RAD Debug Info(RDI) 포맷은 PDB와 DWARF 같은 기존 포맷을 변환해 디버거가 파싱하는 중간 포맷으로, 온디맨드 변환 및 텍스트 덤프 생성을 위한 radbin 유틸리티를 제공한다. 전체 요약 10문장 읽기 → 010 18:33 당일 +168 Rust 기반 고성능 링커 mold, lld보다 4.9배 빠르다 mold는 Unix 링커의 고성능 대체품으로, Blender·Chromium·TensorFlow 같은 대규모 프로젝트 링킹을 4.9배 빠르게(lld 대비 중앙값) 처리한다. 인프라 · 데브옵스 · rui314/mold · Rust
Key Point 대규모 프로젝트 빌드 시간을 획기적으로 단축할 수 있는 성숙한 도구로, 특히 C++·Rust 개발자의 개발 생산성을 크게 높일 수 있다.
핵심 요약
mold는 Unix 링커의 고성능 대체품으로, Blender·Chromium·TensorFlow 같은 대규모 프로젝트 링킹을 4.9배 빠르게(lld 대비 중앙값) 처리한다. 2026년 8월 벤치마크에서 wild 링커보다는 1.9배 빠르며, AMD Threadripper와 Apple M1 Ultra 양쪽 플랫폼에서 일관되게 우수한 성능을 보인다. LLVM lld 원개발자가 아키텍처 한계를 극복하기 위해 Rust로 새로 작성했으며, 2021년부터 프로덕션 환경에서 운영 중이다. 전체 요약 10문장 읽기 → 011 03:11 ▲ 112 · 댓글 77 C에서 타입 안전한 제네릭 자료구조 만드는 방법 C에서 union을 사용해 타입 정보를 제네릭 자료구조와 연결함으로써 타입 안전한 제네릭 구현이 가능하다. 오픈소스 · 도구 · Type Safe Generic Data Structures in C
Key Point C에서 제네릭과 타입 안전성을 동시에 달성하는 실용적인 패턴을 제시해, 저수준 시스템 프로그래밍에서 코드 안정성을 크게 높일 수 있다.
핵심 요약
C에서 union을 사용해 타입 정보를 제네릭 자료구조와 연결함으로써 타입 안전한 제네릭 구현이 가능하다. 기존의 매크로 반복 포함 방식은 제네릭이지만 코드 중복을 야기하고, void * 포인터 사용은 타입 안전성을 잃는다. Flexible Array Member를 활용하면 노드와 데이터를 단일 메모리 할당으로 통합해 캐시 미스를 줄일 수 있다. 전체 요약 9문장 읽기 → 012 21:10 ▲ 117 · 댓글 38 30년 방치된 아미가 유닉스, 현대 하드웨어에서 부활 1990년 출시했던 코모도어의 Amix(System V Release 4)를 커뮤니티가 현대화하는 프로젝트가 진행 중이다. 오픈소스 · 도구 · Amiga Unix, Again
Key Point 1990년대 레트로 시스템을 오픈소스 커뮤니티가 현대 하드웨어에서 복구하는 과정에서 AI와 실제 검증을 결합한 독특한 개발 방식을 보여주며, 실제 66040/68060 머신에서 구동되는 단계까지 진행되고 있다.
핵심 요약
1990년 출시했던 코모도어의 Amix(System V Release 4)를 커뮤니티가 현대화하는 프로젝트가 진행 중이다. 68040·68060 프로세서와 현대 가속 보드에서 Amix를 구동하며, 현대적 도구체인, apkg 패키지 매니저, 이전에 없던 카드용 드라이버들을 제공한다. 플로피·CD-ROM 부팅 설치, 원격 저장소에서 grep·gzip·less·patch·zlib 등 GNU/BSD 도구를 설치하는 패키지 관리 시스템을 갖췄다. 전체 요약 6문장 읽기 → 013 15:10 ▲ 107 · 댓글 62 바이오해저드 4 완전 역컴파일, C/C++ 소스코드 공개 GameCube용 바이오해저드 4의 디버그 빌드(2004년 11월 25일 프로토타입)를 C/C++로 완전 역컴파일했다. 오픈소스 · 도구 · Resident Evil 4 (GameCube) – complete byte-identical decompilation to C/C++
Key Point 30년 전 게임의 원본 컴파일러로 정확히 복원된 완전한 소스코드 공개는 게임 개발 역사 보존과 컴파일러 메커니즘 연구에 매우 드문 사례이다.
핵심 요약
GameCube용 바이오해저드 4의 디버그 빌드(2004년 11월 25일 프로토타입)를 C/C++로 완전 역컴파일했다. 메인 DOL 파일과 114개의 REL 오버레이 모두 바이트 단위로 동일하게 재현하며, 약 555k 라인의 게임 소스코드와 33k 라인의 헤더를 포함한다. 원본 컴파일러인 SN Systems ProDG 3.9.3(GCC 2.95.3)과 Metrowerks CodeWarrior로 빌드했으며, 수동 어셈블리는 최소화되어 있다. 전체 요약 5문장 읽기 → 014 18:10 ▲ 120 · 댓글 34 Jemalloc 5.4.0 릴리스, 160개 커밋으로 성능 개선 메모리 할당자 Jemalloc이 5.4.0 버전을 공개했으며, 160개 이상의 커밋을 포함한 대규모 업데이트다. 인프라 · 데브옵스 · Jemalloc 5.4.0
Key Point 메모리 할당 성능이 시스템 전체에 미치는 영향이 크므로, 주요 메모리 할당자의 구조적 개선과 호환성 강화를 파악해야 한다.
핵심 요약
메모리 할당자 Jemalloc이 5.4.0 버전을 공개했으며, 160개 이상의 커밋을 포함한 대규모 업데이트다. Pinned 메모리 추적, CPU 기반 아레나 선택 재개, 정적 컴파일 옵션 추가 등 새로운 기능을 제공한다. 7개의 레거시 tcache 제어 옵션을 제거하고 동적 정책으로 교체해 메모리 관리 방식을 개선했다. 전체 요약 6문장 읽기 →