<html>
<head>
<base href="http://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Duplicate files blow up installation sizes up +33.37% on NTFS and FAT32 filesystems"
href="http://bugs.llvm.org/show_bug.cgi?id=32417">32417</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Duplicate files blow up installation sizes up +33.37% on NTFS and FAT32 filesystems
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>-New Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>jujjyl@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>Looking at deployment sizes of LLVM+Clang on Windows, the current size of the
toolchain when built with CMake CMAKE_BUILD_CONFIG=Release option is
488,262,953 bytes.
Out of that size, there are four .exe files that are identical to each other:
clang.exe, clang++.exe, clang-cl.exe and clang-cpp.exe
These are the four largest files in the build output, each is a 37,638,144 byte
duplicate of each other.
Additionally, there are the following three files, which are identical
duplicates of each other:
llvm-ar.exe, llvm-lib.exe and llvm-ranlib.exe
and have each a size of 4,632,576 bytes.
If these duplicates did not exist, the installation size would go down from
488,262,953 bytes to 366,083,369 bytes. That would be a -25.02% size reduction
on the deployment size on disk, or conversely, these duplicates bloat up the
installation size by +33.37%.
Because the potential savings are so large, it would be very advantageous to
replace clang++.exe, clang-cl.exe and clang-cpp.exe by small stubs that route
to clang.exe, and llvm-lib.exe and llvm-ranlib.exe with stubs that route to
llvm-ar.exe.
(This issue is NTFS and FAT32 filesystem specific, since those filesystems
don't have symbolic links)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>