---
title: "ExprTk: 헤더 하나로 끝나는 고성능 C++ 수학 표현식 파서"
published: 2026-01-16T22:13:55.000Z
canonical: https://jeff.news/article/902
---
# ExprTk: 헤더 하나로 끝나는 고성능 C++ 수학 표현식 파서

헤더 파일 하나만 include하면 되는 C++ 수학 표현식 파싱/평가 라이브러리. 삼각함수부터 벡터 연산까지 지원하고, 벤치마크에서 경쟁 라이브러리를 전부 이김. 르네상스 테크놀로지스에서도 사용함.

C++로 수학 표현식을 파싱하고 평가하는 라이브러리 ExprTk가 Show HN에 올라옴. 헤더 파일 하나만 include하면 끝이라는 게 핵심임.

- 헤더 파일 단 하나, 외부 의존성 제로. 프로젝트에 그냥 던져넣으면 바로 쓸 수 있는 구조임
- 지원 범위가 꽤 넓음: 사칙연산은 기본이고, 삼각함수, 조건문/반복문, 문자열 처리, 벡터 연산(BLAS-L1), 파일 I/O까지 됨
- 컴파일러 호환성이 미쳤음 - GCC 3.5+, Clang 1.1+, MSVC 7.1+, Intel C++ 8.x+ 전부 지원. 아키텍처도 x86, ARM, Apple M1~M4, POWER, RISC-V, AVR32까지 커버함
- 내부적으로 상수 폴딩, 강도 축소, 데드 코드 제거 같은 최적화를 자동으로 해줌
- 벤치마크에서 muParser, atmsp, MathExpr 등 경쟁 라이브러리들을 전부 이김
- 런타임 안전장치도 있음: 벡터 범위 체크, 문자열 범위 체크, 루프 반복 횟수 제한 등
- float, double, long double은 물론 MPFR/GMP 같은 임의 정밀도 타입도 지원함
- 재밌는 건 르네상스 테크놀로지스(그 퀀트 헤지펀드)에서도 쓴다고 페이지 하단에 언급돼 있음
- 개발자는 Arash Partow라는 오랜 경력의 C++ 오픈소스 개발자. 라이선스는 MIT임

## 핵심 포인트

- 싱글 헤더, 외부 의존성 제로
- 상수 폴딩/강도 축소/데드 코드 제거 등 자동 최적화
- GCC 3.5+부터 ARM, RISC-V, Apple M 시리즈까지 폭넓은 호환성
- 르네상스 테크놀로지스에서 사용 중

## 인사이트

20년 넘게 유지되는 C++ 라이브러리가 Show HN에 올라온 것 자체가 흥미로움. 싱글 헤더 + MIT 라이선스 + 극단적 호환성이라는 조합이 실제로 퀀트 헤지펀드에서도 선택한 이유일 듯.
