rust/src/libstd/rt
bors 936f70bd87 auto merge of #8356 : toddaaro/rust/ws, r=brson
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-08 16:32:02 -07:00
..
io Add initial support for a new formatting syntax 2013-08-07 19:21:43 -07:00
uv Updated std::Option, std::Either and std::Result 2013-08-05 22:42:21 +02:00
args.rs remove obsolete foreach keyword 2013-08-03 22:48:02 -04:00
borrowck.rs remove obsolete foreach keyword 2013-08-03 22:48:02 -04:00
comm.rs auto merge of #8356 : toddaaro/rust/ws, r=brson 2013-08-08 16:32:02 -07:00
context.rs A major refactoring that changes the way the runtime uses TLS. In the 2013-08-01 15:14:00 -07:00
env.rs std::rt: Pull RUST_MIN_STACK from the environment 2013-08-07 15:40:27 -07:00
global_heap.rs Consolidate raw representations of rust values 2013-07-26 09:53:03 -07:00
kill.rs auto merge of #8385 : cmr/rust/big-rollup, r=alexcrichton 2013-08-08 14:32:02 -07:00
local_heap.rs librustc: Disallow "unsafe" for external functions 2013-08-02 21:57:59 -07:00
local_ptr.rs std::rt: Improve the error message when the thread-local ptr is null 2013-08-04 15:11:55 -07:00
local.rs std: Allow spawners to specify stack size 2013-08-07 15:40:27 -07:00
logging.rs std: Fix newsched logging truncation 2013-08-04 21:56:47 -07:00
message_queue.rs Change concurrency primitives to standard naming conventions 2013-07-27 22:06:29 -07:00
metrics.rs
mod.rs Enabled workstealing in the scheduler. Previously we had one global work 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-08 14:13:41 -07:00
rc.rs
rtio.rs Rename IpAddr -> SocketAddr, extract IpAddr from SocketAddr 2013-08-03 02:06:24 +04:00
sched.rs Enabled workstealing in the scheduler. Previously we had one global work 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-08 14:13:41 -07:00
select.rs auto merge of #8356 : toddaaro/rust/ws, r=brson 2013-08-08 16:32:02 -07:00
sleeper_list.rs Change concurrency primitives to standard naming conventions 2013-07-27 22:06:29 -07:00
stack.rs implement pointer arithmetic with GEP 2013-07-30 02:50:31 -04:00
task.rs std: Allow spawners to specify stack size 2013-08-07 15:40:27 -07:00
test.rs Enabled workstealing in the scheduler. Previously we had one global work 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-08 14:13:41 -07:00
thread_local_storage.rs
thread.rs librustc: Disallow "unsafe" for external functions 2013-08-02 21:57:59 -07:00
tube.rs remove obsolete foreach keyword 2013-08-03 22:48:02 -04:00
util.rs Updated std::Option, std::Either and std::Result 2013-08-05 22:42:21 +02:00
work_queue.rs Change concurrency primitives to standard naming conventions 2013-07-27 22:06:29 -07:00