emscripten-core/emscripten

Compiler information extraction significantly slower compared to vanilla Clang

Open

#13,004 opened on Dec 10, 2020

View on GitHub
 (8 comments) (0 reactions) (0 assignees)C++ (3,519 forks)batch import
help wantedwontfix

Repository metrics

Stars
 (27,361 stars)
PR merge metrics
 (Avg merge 19d 10h) (147 merged PRs in 30d)

Description

Extracting some basic information (version, target, header search paths) from emcc is significantly slower compared to vanilla Clang. Compare:

$ time { clang++ --version; clang++ -dumpmachine; clang++ -v -x c++ -E - </dev/null; }
real    0m0.029s

$ time { emcc --version; emcc -dumpmachine; emcc -v -x c++ -E - </dev/null; }
real    0m0.266s

Some build systems (e.g., build2) extract this information on the fly (in order to implement high-fidelity change detection) and the slowdown is noticeable. I wonder if anything can done about this?

Contributor guide