Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Time Spent in Code Gen

Paul Bowen-Huggett edited this page May 30, 2018 · 9 revisions

The following charts show the time spent in the "back-end" of LLVM when compiling large projects (Clang+LLVM3.7 and Chrome). The X axis contains a point for each of the project's source files: for each of these a point shows the ratio of time spent in clang (i.e. the “front-end”) to the time spent in LLVM (the “back-end”) performing optimization and code-generation.

The llvm-prepo work aims to eliminate the back-end time for functions that are not changed by a user between compilations. These charts show the percentage compilation time reduction if we assume that the llvm-prepo passes themselves add no overhead; this corresponds to the ”speed of light” for the project.

The data in these charts was produced by capturing the output of the "-ftime-report" option, parsing the resulting files and categorizing each entry as "front-end" or "back-end". The build was performed 16 times and the mean timings taken.

LLVM

LLVM

Median time in back-end:

Debug Release
51.71 80.50

Chrome

Chrome

Median time in back-end:

Debug Release
60.30 80.62

Clone this wiki locally