링크된 벤치마크를 보면 Fil-C가 C보다 더 빠르게 보이는 경우가 있음
아마 마이크로벤치마크의 변동성 때문일 거라 생각하지만, 일부 결과는 너무 빠르게 보여서 정확성 문제가 있는지 궁금해짐
작성자가 Fil-C에 상당히 감명받아서 전체 Debian 시스템을 Fil-C로 재빌드하려는 시도를 하고 있음
이를 위해 GC shim 라이브러리와 빌드 스크립트를 만들어 공유하고 있음
서버에 swap이 12GB밖에 없어서 Fil-C 컴파일 중 메모리 부족으로 여러 번 재시작했음
swap을 36GB로 늘리자 정상적으로 빌드되었고, 최대 19GB swap + 12GB RAM을 사용했음
128코어, 512GB RAM 서버에서는 Fil-C 빌드에 8분, musl에 6분이 걸렸음
Fil-C가 정적 분석을 많이 수행하는 듯함
그건 LLVM+Clang 자체를 빌드하는 과정일 가능성이 높음
새로 공개된 64비트 버전의 cdb가 엑사바이트급 데이터베이스를 지원한다는 점이 흥미로움 cdb.cr.yp.to에서 확인 가능하며, 새 cdb 서브도메인이 pqconnect를 사용한다고 언급됨
실제로는 cdb.cr.yp.to에 NS 레코드가 없어서 DNSCurve가 작동하는 구조임
pqconnect는 HTTP(S) 연결 단계에서 사용되고, 둘 다 DNS에 공개키를 인코딩하지만 역할이 다름
pqconnect는 CurveCP처럼 CNAME에 공개키를 포함함
RFC1034에 따르면 cdb.cr.yp.to는 cr.yp.to와 yp.to의 하위 도메인(subdomain) 으로 볼 수 있음
다만 pq1 부분은 공개키가 아니라 서버의 장기 공개키 해시임
pqconnect 사용은 예전부터 있었지만, cdb.cr.yp.to의 CNAME은 10월 21일경 새로 추가된 것으로 보임
Fil-C 관련 노트는 3일 전에 제출되었음 관련 스레드
Fil-C가 무엇인지 모르는 사람들을 위해 요약함
Fil-C는 C/C++과 호환되는 메모리 안전 구현체로, 대부분의 코드가 거의 수정 없이 컴파일됨
모든 메모리 오류는 panic으로 감지되며, 동시 GC와 InvisiCaps로 안전성을 확보함 공식 사이트에서 자세한 설명을 볼 수 있음
Fil-C를 사용하려면 런타임에 Garbage Collector를 수용해야 함
build_all_fast_glibc.sh 스크립트가 31GB 메모리를 요구한다는 점이 놀라움
이유를 알고 싶고, 직접 Fil-C를 시도해보고 싶음