This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
With your recent patch, GCC HEAD revision 191051 had problems on: native: build (about the same as the previous build) Attached is build output for those targets. The previous build was of revision 191050. Log information for changes since the last build: ------------------------------------------------------------------------ r191051 | ak | 2012-09-06 19:56:17 -0700 (Thu, 06 Sep 2012) | 30 lines Changed paths: M /trunk/gcc/ChangeLog M /trunk/gcc/lto/lto.c M /trunk/gcc/lto-streamer.h Reduce memory usage for storing LTO decl resolutions With a LTO build of a large project (>11k subfiles incrementially linked) storing the LTO resolutions took over 0.5GB memory: lto/lto.c:1087 (lto_resolution_read) 0: 0.0% 540398500 15903: 0.0% The reason is that the declaration indexes are quite sparse, but every subfile got a full continuous vector for them. Since there are so many of them the many vectors add up. This patch instead stores the resolutions initially in a compact (index, resolution) format. This is only expanded into a sparse vector for fast lookup when the subfile is actually read, but then immediately freed. This means only one vector is allocated at a time. This brings the overhead for this down to less than 3MB for the test case: lto/lto.c:1087 (lto_resolution_read) 0: 0.0% 2821456 42186: 0.0% gcc/: 2012-09-06 Andi Kleen <ak@linux.intel.com> * gcc/lto-streamer.h (res_pair): Add. (lto_file_decl_data): Replace resolutions with respairs. Add max_index. * gcc/lto/lto.c (lto_resolution_read): Remove max_index. Add rp. Initialize respairs. (lto_file_finalize): Set up resolutions vector lazily from respairs. ------------------------------------------------------------------------ For more information, see <http://glutton.geoffk.org/HEAD/>.
Attachment:
native-log.txt
Description: Text document
-- Geoffrey Keating <geoffk@geoffk.org> (via an automated GCC regression-testing script.)
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |