컴파일러마다 UTF-8 처리 결과가 다르다?
When Compilers Disagree About UTF‑8

2006년부터 UTF-8 문자열 처리를 위한 오픈소스 C++ 라이브러리(utfcpp)를 개발해온 저자는 최근 디코딩 성능 최적화를 시도했다. ASCII 문자에 대한 검증을 생략하는 최적화를 적용한 결과, clang 18.1.3에서는 순수 ASCII 텍스트 처리 속도가 3배 향상되고 혼합 텍스트에서도 34% 개선되었다. 그러나 gcc에서는 전혀 차이가 없었고, 혼합 텍스트에서는 오히려 3-4% 느려졌다. 어셈블리 코드를 분석한 결과, gcc는 이미 ASCII 검증을 제거했지만 clang은 그렇지 않았기 때문이다. 저자는 검증을 인라인화하는 더 큰 변경으로 두 컴파일러 모두에서 성능을 개선했다.
컴파일러는 까다롭지만, 최적화에 시간을 투자하면 보람이 있다.