rust/src
Guillaume Pinot 629bcdd873 Improvement of shootout-binarytrees.rs
Part of #18085

Instead of using an Enum, we use a struct with Option<&Tree> as leaves. It allow
to limit a lot of allocation.

before:
```
texitoi@vaio:~/dev/benchmarksgame-rs$ time ./bin/binary-trees-orig 20
stretch tree of depth 21	 check: -1
2097152	 trees of depth 4	 check: -2097152
524288	 trees of depth 6	 check: -524288
131072	 trees of depth 8	 check: -131072
32768	 trees of depth 10	 check: -32768
8192	 trees of depth 12	 check: -8192
2048	 trees of depth 14	 check: -2048
512	 trees of depth 16	 check: -512
128	 trees of depth 18	 check: -128
32	 trees of depth 20	 check: -32
long lived tree of depth 20	 check: -1

real	0m3.860s
user	0m11.032s
sys	0m3.572s
```
after:
```
texitoi@vaio:~/dev/benchmarksgame-rs$ time ./bin/binary-trees 20
stretch tree of depth 21	 check: -1
2097152	 trees of depth 4	 check: -2097152
524288	 trees of depth 6	 check: -524288
131072	 trees of depth 8	 check: -131072
32768	 trees of depth 10	 check: -32768
8192	 trees of depth 12	 check: -8192
2048	 trees of depth 14	 check: -2048
512	 trees of depth 16	 check: -512
128	 trees of depth 18	 check: -128
32	 trees of depth 20	 check: -32
long lived tree of depth 20	 check: -1

real	0m2.824s
user	0m9.224s
sys	0m1.428s
```
2015-01-10 20:19:54 +01:00
..
compiler-rt@58ab642c30 Updated compiler-rt 2015-01-09 18:38:30 +02:00
compiletest auto merge of #20760 : alexcrichton/rust/rollup, r=alexcrichton 2015-01-08 18:40:04 +00:00
doc auto merge of #20802 : huonw/rust/book-css, r=steveklabnik 2015-01-10 05:55:07 +00:00
driver Separate the driver into its own crate that uses trans, typeck. 2014-12-04 10:04:52 -05:00
etc Merge pull request #20689 from huonw/editor-_size 2015-01-07 15:35:34 +00:00
grammar Un-gate macro_rules 2015-01-05 18:21:14 -08:00
jemalloc@b001609960 update jemalloc 2014-10-05 22:17:25 -04:00
liballoc rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libarena rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libbacktrace
libcollections Merge pull request #20766 from tsurai/patch-1 2015-01-08 20:59:48 +00:00
libcore auto merge of #20839 : alexcrichton/rust/missing-stability, r=aturon 2015-01-10 12:10:08 +00:00
libcoretest rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libflate rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libfmt_macros rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libgetopts rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libgraphviz rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
liblibc Merge pull request #20699 from vhbit/ios-archs 2015-01-09 17:35:09 +00:00
liblog rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
librand rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
librbml rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libregex rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
librustc Make the metadata loader use the appropriate Target structure 2015-01-09 04:51:47 +01:00
librustc_back Merge pull request #20699 from vhbit/ios-archs 2015-01-09 17:35:09 +00:00
librustc_borrowck auto merge of #20760 : alexcrichton/rust/rollup, r=alexcrichton 2015-01-08 18:40:04 +00:00
librustc_driver auto merge of #20760 : alexcrichton/rust/rollup, r=alexcrichton 2015-01-08 18:40:04 +00:00
librustc_llvm rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
librustc_resolve rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
librustc_trans Merge pull request #20699 from vhbit/ios-archs 2015-01-09 17:35:09 +00:00
librustc_typeck rollup merge of #20757: nikomatsakis/issue-20624-assoc-types-coherence 2015-01-08 09:32:06 -08:00
librustdoc Merge pull request #20793 from ktossell/rustdoc-fixedvector-syntax 2015-01-09 17:35:10 +00:00
libserialize Remove warning from the libraries. 2015-01-08 11:02:23 -05:00
libstd auto merge of #20776 : kmcallister/rust/macro-cleanup, r=alexcrichton 2015-01-09 22:15:12 +00:00
libsyntax auto merge of #20837 : huonw/rust/remove-unused-lifetime, r=nikomatsakis 2015-01-10 10:05:05 +00:00
libterm rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libtest rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
libunicode rollup merge of #20754: nikomatsakis/int-feature 2015-01-08 09:24:08 -08:00
llvm@ec1fdb3b9d core: split into fmt::Show and fmt::String 2015-01-06 14:49:42 -08:00
rt iOS: preliminary 64-bit archs support 2015-01-09 18:38:30 +02:00
rust-installer@e577c97b49 Fix revert of rust-installer 2015-01-09 10:19:30 -08:00
rustbook rustbook: use a relative @import path to ensure it works offline. 2015-01-10 00:54:18 +11:00
rustllvm Ensure that LLVM is rebuilt with recent changes 2015-01-05 18:40:41 +01:00
test Improvement of shootout-binarytrees.rs 2015-01-10 20:19:54 +01:00
snapshots.txt register new snapshots 2015-01-07 17:15:06 -05:00