about summary refs log tree commit diff
path: root/src/rt/sync/rust_thread.cpp
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2013-10-14 08:24:17 -0700
committerAlex Crichton <alex@alexcrichton.com>2013-10-18 09:20:08 -0700
commit273784e9bfa006c2651c7890d8e5fb3564b95ec4 (patch)
treeaef326fcb9cf0e98a40c59cfbfab676e67c73f99 /src/rt/sync/rust_thread.cpp
parent40180cdbea708307ca66dc6debddbd5ecc1ea41c (diff)
downloadrust-273784e9bfa006c2651c7890d8e5fb3564b95ec4.tar.gz
rust-273784e9bfa006c2651c7890d8e5fb3564b95ec4.zip
Optimize include_bin! for large inputs
Previously an ExprLit was created *per byte* causing a huge increase in memory
bloat. This adds a new `lit_binary` to contain a literal of binary data, which
is currently only used by the include_bin! syntax extension. This massively
speeds up compilation times of the shootout-k-nucleotide-pipes test

    before:
        time: 469s
        memory: 6GB
        assertion failure in LLVM (section too large)

    after:
        time: 2.50s
        memory: 124MB

Closes #2598
Diffstat (limited to 'src/rt/sync/rust_thread.cpp')
0 files changed, 0 insertions, 0 deletions