[patch][gold] Use LIFO instead of FIFO to implement gc's transitive closure

Cary Coutant ccoutant@gmail.com
Wed Apr 8 18:11:00 GMT 2015


> FIFO is harder to implement and has less locality than LIFO. It is
> also not necessary to implement a transitive closure, a LIFO works
> just as well.
>
> The attached patch then switches the structure used for GC. It
> produces identical binaries for chromium and the linking time goes
> from 6.216024688 to 6.177238463 seconds.

I passed this by Sri (the original author of the --gc-sections code)
to see if he had any objections, and he's fine with it.

This is OK, with a ChangeLog entry. Please try to remember to include
ChangeLog entries with your patches (but not as *part* of the patches
-- including it with the plain text of the message helps the reviewer,
whereas including it in the patch makes merges messy).

Thanks!

-cary



More information about the Binutils mailing list