summary refs log tree commit diff
path: root/src/test/bench
AgeCommit message (Collapse)AuthorLines
2013-09-23test: Fix rustdoc and tests.Patrick Walton-5/+0
2013-09-23std: merge rand::{Rng,RngUtil} with default methods.Huon Wilson-5/+5
Also, documentation & general clean-up: - remove `gen_char_from`: better served by `sample` or `choose`. - `gen_bytes` generalised to `gen_vec`. - `gen_int_range`/`gen_uint_range` merged into `gen_integer_range` and made to be properly uniformly distributed. Fixes #8644. Minor adjustments to other functions.
2013-09-21drop `extra::par`Daniel Micay-518/+0
This was a dead end experiment, and not a sensible way of implementing generic data parallelism. This also removes the `graph500-bfs.rs` benchmark because it relies on `extra::par`. Closes #5626
2013-09-19Modernize extra::future APISteven Fackler-4/+4
2013-09-19Turned extra::getopts functions into methodsMarvin Löbel-1/+1
Some minor api and doc adjustments
2013-09-16switch Drop to `&mut self`Daniel Micay-1/+1
2013-09-15Remove {uint,int,u64,i64,...}::from_str,from_str_radixblake2-ppc-31/+31
Remove these in favor of the two traits themselves and the wrapper function std::from_str::from_str. Add the function std::num::from_str_radix in the corresponding role for the FromStrRadix trait.
2013-09-06make macro hygienicJohn Clements-8/+8
2013-09-05Rename str::from_bytes to str::from_utf8, closes #8985Florian Hahn-2/+2
2013-08-30fix various warningsErick Tryzelaar-1/+0
2013-08-30Revert "src/test/bench: restructure"Corey Richardson-0/+0
This reverts commit 14cdc26e8a7794e437946f46df5769362b42acdf.
2013-08-28src/test/bench: restructureCorey Richardson-0/+0
2013-08-27librustc: Fix merge falloutPatrick Walton-13/+25
2013-08-22Enabled tests.Vadim Chugunov-2/+0
2013-08-20Fix typo in test/bench/noise.rs. Closes #8574.nsf-1/+1
2013-08-20rm obsolete integer to_str{,_radix} free functionsDaniel Micay-9/+7
2013-08-18auto merge of #8560 : kballard/rust/reserve-yield, r=pcwaltonbors-1/+1
Rename task::yield() to task::deschedule(). Fixes #8494.
2013-08-17Fix warnings it testsErick Tryzelaar-14/+0
2013-08-16Reserve 'yield' keywordKevin Ballard-1/+1
Rename task::yield() to task::deschedule(). Fixes #8494.
2013-08-10std: Rename Iterator.transform -> .mapErick Tryzelaar-7/+7
cc #5898
2013-08-10Mass rename of .consume{,_iter}() to .move_iter()Erick Tryzelaar-8/+8
cc #7887
2013-08-08auto merge of #8356 : toddaaro/rust/ws, r=brsonbors-0/+164
This pull request converts the scheduler from a naive shared queue scheduler to a naive workstealing scheduler. The deque is still a queue inside a lock, but there is still a substantial performance gain. Fiddling with the messaging benchmark I got a ~10x speedup and observed massively reduced memory usage. There are still *many* locations for optimization, but based on my experience so far it is a clear performance win as it is now.
2013-08-08auto merge of #8385 : cmr/rust/big-rollup, r=alexcrichtonbors-9/+6
This is a fairly large rollup, but I've tested everything locally, and none of it should be platform-specific. r=alexcrichton (bdfdbdd) r=brson (d803c18) r=alexcrichton (a5041d0) r=bstrie (317412a) r=alexcrichton (135c85e) r=thestinger (8805baa) r=pcwalton (0661178) r=cmr (9397fe0) r=cmr (caa4135) r=cmr (6a21d93) r=cmr (4dc3379) r=cmr (0aa5154) r=cmr (18be261) r=thestinger (f10be03)
2013-08-08Enabled workstealing in the scheduler. Previously we had one global work ↵toddaaro-0/+164
queue shared by each scheduler. Now there is a separate work queue for each scheduler, and work is "stolen" from other queues when it is exhausted locally.
2013-08-07Implement DoubleEndedIterator on RangeKevin Ballard-9/+6
Range is now invertable as long as its element type conforms to Integer. Remove int::range_rev() et al in favor of range().invert().
2013-08-07test: Fix deadlock in task-perf-linked-failureBrian Anderson-1/+4
2013-08-07test: xfail a bunch of tests that are incorrectly reading os::args()[1]Brian Anderson-0/+10
2013-08-06remove `extra::iter`Daniel Micay-12/+12
This module provided adaptors for the old internal iterator protocol, but they proved to be quite unreadable and are not generic enough to handle borrowed pointers well. Since Rust no longer defines an internal iteration protocol, I don't think there's going to be any reuse via these adaptors.
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-34/+34
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-08-05Add extra::arena::Arena::new{, _with_size}.OGINO Masanori-4/+4
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2013-08-03remove obsolete `foreach` keywordDaniel Micay-96/+96
this has been replaced by `for`
2013-08-03replace all remaining `for` with `foreach` or `do`Daniel Micay-6/+9
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-1/+1
2013-08-02librustc: Introduce a new visitor type based on traits and port syntax to it.Patrick Walton-1/+1
This is preparation for removing `@fn`. This does *not* use default methods yet, because I don't know whether they work. If they do, a forthcoming PR will use them. This also changes the precedence of `as`.
2013-08-02replace `range` with an external iteratorDaniel Micay-70/+68
2013-08-01auto merge of #8170 : brson/rust/nopipes, r=pcwaltonbors-321/+0
The pipes compiler produced data types that encoded efficient and safe bounded message passing protocols between two endpoints. It was also capable of producing unbounded protocols. It was useful research but was arguably done before its proper time. I am removing it for the following reasons: * In practice we used it only for producing the `oneshot` protcol and the unbounded `stream` protocol and all communication in Rust use those. * The interface between the proto! macro and the standard library has a large surface area and was difficult to maintain through language and library changes. * It is now written in an old dialect of Rust and generates code which would likely be considered non-idiomatic. * Both the compiler and the runtime are difficult to understand, and likewise the relationship between the generated code and the library is hard to understand. Debugging is difficult. * The new scheduler implements `stream` and `oneshot` by hand in a way that will be significantly easier to maintain. This shouldn't be taken as an indication that 'channel protocols' for Rust are not worth pursuing again in the future. Concerned parties may include: @graydon, @pcwalton, @eholk, @bblum The most likely candidates for closing are #7666, #3018, #3020, #7021, #7667, #7303, #3658, #3295.
2013-08-01auto merge of #8190 : thestinger/rust/for, r=thestingerbors-13/+13
2013-08-01Remove the pipes compilerBrian Anderson-321/+0
The pipes compiler produced data types that encoded efficient and safe bounded message passing protocols between two endpoints. It was also capable of producing unbounded protocols. It was useful research but was arguably done before its proper time. I am removing it for the following reasons: * In practice we used it only for producing the `oneshot` and `stream` unbounded protocols and all communication in Rust use those. * The interface between the proto! macro and the standard library has a large surface area and was difficult to maintain through language and library changes. * It is now written in an old dialect of Rust and generates code which would likely be considered non-idiomatic. * Both the compiler and the runtime are difficult to understand, and likewise the relationship between the generated code and the library is hard to understand. Debugging is difficult. * The new scheduler implements `stream` and `oneshot` by hand in a way that will be significantly easier to maintain. This shouldn't be taken as an indication that 'channel protocols' for Rust are not worth pursuing again in the future.
2013-08-01std: Change `Times` trait to use `do` instead of `for`blake2-ppc-13/+13
Change the former repetition:: for 5.times { } to:: do 5.times { } .times() cannot be broken with `break` or `return` anymore; for those cases, use a numerical range loop instead.
2013-08-01auto merge of #8164 : brson/rust/noportset, r=pcwaltonbors-12/+12
...haredChan.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-32/+32
2013-07-31std: Remove PortSet. Not supported by new scheduler. Replace uses with ↵Brian Anderson-12/+12
SharedChan.
2013-07-28auto merge of #8069 : erickt/rust/maikklein, r=ericktbors-4/+4
Good evening, This is a superset of @MaikKlein's #7969 commit, that I've fixed up to compile. I had a couple commits I wanted to do on top of @MaikKlein's work that I didn't want to bitrot.
2013-07-27to_either + fixesErick Tryzelaar-4/+4
2013-07-27Change concurrency primitives to standard naming conventionsSteven Stewart-Gallus-11/+11
To be more specific: `UPPERCASETYPE` was changed to `UppercaseType` `type_new` was changed to `Type::new` `type_function(value)` was changed to `value.method()`
2013-07-24fix fmt! usageDaniel Micay-1/+1
2013-07-24Change 'print(fmt!(...))' to printf!/printfln! in src/test/Birunthan Mohanathas-45/+41
2013-07-20Fix warnings in src/test/bench tests. Nobody will ever care.Ben Blum-78/+60
2013-07-18hashmap: Remove .consume() has rename .consume_iter() to .consume()blake2-ppc-3/+3
Updated all users of HashMap, HashSet old .consume() to use .consume() with a for loop. Since .consume() takes the map or set by value, it needs awkward extra code to in librusti's use of @mut HashMap, where the map value can not be directly moved out.
2013-07-17librustc: Remove some extra "copy" keywords that came in before this change ↵Patrick Walton-1/+1
merged.