SIMD 및 스레드를 사용하여 단어 계산 속도 494배 향상

2025-08-17

이 기사에서는 단어 계산 프로그램 최적화 과정에서 저자가 겪은 여정을 자세히 설명하며, 놀라운 494배의 속도 향상을 달성한 방법을 보여줍니다. 단순한 Python 구현(89.6초)부터 시작하여 CPython의 `re` 모듈(13.7초), C 스칼라 루프(1.205초), 그리고 마지막으로 SIMD 명령어와 멀티스레딩(181밀리초)을 사용하여 단계적으로 성능을 개선했습니다. 각 최적화 단계에서는 C 확장 활용, 효율적인 C 루프, 멀티코어 CPU 활용 등이 설명됩니다. 멀티스레딩으로 인한 속도 향상은 예상보다 크지 않았지만, 최종 버전에서는 놀라운 5.52 GiB/s의 처리 속도를 달성했습니다. 저자는 추가적인 최적화 제안을 요청합니다.

더 보기
개발

macOS 디스크 사용량 도구 Dumac의 성능 대폭 개선

2025-08-11

`du -sh`보다 빠른 macOS 디스크 사용량 유틸리티인 Dumac은 macOS 고유의 시스템 호출인 `getattrlistbulk`을 활용합니다. 커뮤니티의 피드백을 반영하여 작성자는 병렬 처리 개선을 위해 Tokio에서 Rayon으로 전환하고 inode 해시 집합 분할을 최적화하여 약 33%의 성능 향상을 달성했습니다. 개선된 분할 전략을 통한 inode 경합 해결로 속도가 더욱 향상되었습니다.

더 보기
개발

LÖVE를 사용한 빠른 게임 프로토타이핑

2024-12-31

2025년 완성된 게임을 목표로 하는 프로그래머는 Lua 언어의 LÖVE2D 프레임워크를 사용하여 체스와 카드 게임 프로토타입을 제작했습니다. LÖVE의 간단하면서도 강력한 API를 통해 최소한의 코드로 복잡한 UI 상호 작용을 구현했으며, LLM 지원 코드 생성으로 개발 속도가 더욱 빨라졌습니다. 작성자는 LÖVE가 특히 UI 측면에서 프로토타이핑에 적합하지만, 대규모 프로젝트에서는 핫 리로딩 및 로직 분리 개선이 필요하다고 언급했습니다. 최종 목표는 LÖVE를 사용하여 기본적인 게임 MVP를 개발하는 것입니다.

더 보기