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

Duplication In Real World Projects

Paul Bowen-Huggett edited this page May 29, 2018 · 11 revisions

COMDAT duplication

The following charts show the number of duplicated COMDAT instances found in the object files for large, real-world, C++ projects. In each case, the projects' object files were scanned to discover the set of COMDAT instances. These were then matched according to the normal rules followed by the static linker. For each name, the number of instances generated by the compiler and discarded by the linker was counted. The size of each instance is captured to give an indication of the compile-time cost of the code-generation cost.

Title No. Instances Generated No. Instances Discarded Discarded (%)
Chromium 577397 576223 99.80
Clang+LLVM 3.7 52554 51766 98.50

LLVM

!https://raw.githubusercontent.com/wiki/SNSystems/llvm-prepo/images/comdat/llvm.svg?sanitize=true

Chrome

!https://raw.githubusercontent.com/wiki/SNSystems/llvm-prepo/images/comdat/chrome.svg?sanitize=true

Clone this wiki locally