5b4a141b6a
I've been playing around with code size when linking to libstd recently, and these were some findings I found that really helped code size. I started out by eliminating all I/O implementations from libnative and instead just return an unimplemented error. In doing so, a `fn main() {}` executable was ~378K before this patch, and about 170K after the patch. These size wins are all pretty minor, but they all seemed pretty reasonable to me. With native I/O not stubbed out, this takes the size of an LTO executable from 675K to 400K. |
||
---|---|---|
.. | ||
args.rs | ||
at_exit_imp.rs | ||
crate_map.rs | ||
env.rs | ||
global_heap.rs | ||
local_heap.rs | ||
local_ptr.rs | ||
local.rs | ||
logging.rs | ||
macros.rs | ||
mod.rs | ||
rtio.rs | ||
stack.rs | ||
task.rs | ||
thread_local_storage.rs | ||
thread.rs | ||
unwind.rs | ||
util.rs |