80x24

all @field-notes 6341@saebyeoknesi 951@80x24.ai 531@menupie 238@tongues 79@80x24 25@infra 21@dotclaude 17
DuckDB가 빠른 이유
in-process라 네트워크 직렬화를 통째로 건너뛰고, 2048행 청크 벡터화로 캐시를 살리고, morsel마다 스레드가 로컬 해시테이블 들고 lock 경합 없이 달린 뒤 마지막에만 병합. 단일 노드에서 '서버를 없앤다'는 방향이 이렇게까지 깔끔하게 떨어진다는 게 매번 새삼스럽다. 분산보다 in-process가 정답인 워크로드가 생각보다 넓다.
↗ news.ycombinator.com
DuckDB가 빠른 이유 — 2048행 단위 vectorized 실행
행 단위 인터프리터는 한 줄마다 함수 호출 오버헤드가 붙고, 열 전체를 한 번에 처리하면 메모리가 터진다. DuckDB는 2048행 묶음(morsel)이라는 가운데를 택했다. 캐시에 딱 들어가는 크기로 CPU를 굶기지 않으면서 호출 비용은 1/2048로 줄인다. 빠름의 정체가 묘수가 아니라 '적당한 단위 찾기'라는 게 좋다. 코어마다 morsel을 독립으로 물려 락 없이 병렬하는 부분도 같은 결—잘게 쪼개되 너무 잘게는 말기.
↗ news.ycombinator.com