<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/rt/test.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2013-12-24T22:42:00+00:00</updated>
<entry>
<title>std: Delete rt::test</title>
<updated>2013-12-24T22:42:00+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-12-13T01:20:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dafb310ba131b34a8819566201dc8d0af9bbd406'/>
<id>urn:sha1:dafb310ba131b34a8819566201dc8d0af9bbd406</id>
<content type='text'>
This module contains many M:N specific concepts. This will no longer be
available with libgreen, and most functions aren't really that necessary today
anyway. New testing primitives will be introduced as they become available for
1:1 and M:N.

A new io::test module is introduced with the new ip4/ip6 address helpers to
continue usage in io tests.
</content>
</entry>
<entry>
<title>Fallout of rewriting std::comm</title>
<updated>2013-12-17T01:47:11+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-12-06T02:19:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=529e268ab900f1b6e731af64ce2aeecda3555f4e'/>
<id>urn:sha1:529e268ab900f1b6e731af64ce2aeecda3555f4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libextra: Another round of de-`Cell`-ing.</title>
<updated>2013-12-10T23:13:12+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-12-04T00:44:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=786dea207d5b891d37e596e96dd2f84c4cb59f49'/>
<id>urn:sha1:786dea207d5b891d37e596e96dd2f84c4cb59f49</id>
<content type='text'>
34 uses of `Cell` remain.
</content>
</entry>
<entry>
<title>Rename std::rt::deque::*::init() to *::new()</title>
<updated>2013-12-05T06:33:53+00:00</updated>
<author>
<name>Kevin Ballard</name>
<email>kevin@sb.org</email>
</author>
<published>2013-12-04T03:37:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b1705714d5a13e9057db364b685c7cce7cc27982'/>
<id>urn:sha1:b1705714d5a13e9057db364b685c7cce7cc27982</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert "libstd: Change `Path::new` to `Path::init`."</title>
<updated>2013-12-05T06:33:53+00:00</updated>
<author>
<name>Kevin Ballard</name>
<email>kevin@sb.org</email>
</author>
<published>2013-12-04T03:15:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=408dc5ad1b657eb2261e7ac680b8d100469e5477'/>
<id>urn:sha1:408dc5ad1b657eb2261e7ac680b8d100469e5477</id>
<content type='text'>
This reverts commit c54427ddfbbab41a39d14f2b1dc4f080cbc2d41b.

Leave the #[ignores] in that were added to rustpkg tests.

Conflicts:
	src/librustc/driver/driver.rs
	src/librustc/metadata/creader.rs
</content>
</entry>
<entry>
<title>Implement a lock-free work-stealing deque</title>
<updated>2013-11-29T20:19:16+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-11-26T17:40:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a70f9d7324a91058d31c1301c4351932880d57e8'/>
<id>urn:sha1:a70f9d7324a91058d31c1301c4351932880d57e8</id>
<content type='text'>
This adds an implementation of the Chase-Lev work-stealing deque to libstd
under std::rt::deque. I've been unable to break the implementation of the deque
itself, and it's not super highly optimized just yet (everything uses a SeqCst
memory ordering).

The major snag in implementing the chase-lev deque is that the buffers used to
store data internally cannot get deallocated back to the OS. In the meantime, a
shared buffer pool (synchronized by a normal mutex) is used to
deallocate/allocate buffers from. This is done in hope of not overcommitting too
much memory. It is in theory possible to eventually free the buffers, but one
must be very careful in doing so.

I was unable to get some good numbers from src/test/bench tests (I don't think
many of them are slamming the work queue that much), but I was able to get some
good numbers from one of my own tests. In a recent rewrite of select::select(),
I found that my implementation was incredibly slow due to contention on the
shared work queue. Upon switching to the parallel deque, I saw the contention
drop to 0 and the runtime go from 1.6s to 0.9s with the most amount of time
spent in libuv awakening the schedulers (plus allocations).

Closes #4877
</content>
</entry>
<entry>
<title>libstd: Change `Path::new` to `Path::init`.</title>
<updated>2013-11-29T18:55:13+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-22T23:45:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c54427ddfbbab41a39d14f2b1dc4f080cbc2d41b'/>
<id>urn:sha1:c54427ddfbbab41a39d14f2b1dc4f080cbc2d41b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve the rt::thread module</title>
<updated>2013-11-27T17:53:48+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-11-26T02:08:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5d6dbf3f262fabcb6cb920dd08be6f9d8df75d5c'/>
<id>urn:sha1:5d6dbf3f262fabcb6cb920dd08be6f9d8df75d5c</id>
<content type='text'>
* Added doc comments explaining what all public functionality does.
* Added the ability to spawn a detached thread
* Added the ability for the procs to return a value in 'join'
</content>
</entry>
<entry>
<title>librustc: Make `||` lambdas not infer to `proc`s</title>
<updated>2013-11-26T16:25:27+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-11-22T07:36:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=749ee53c6d23ae1467568d6e0280a4f59e4e952b'/>
<id>urn:sha1:749ee53c6d23ae1467568d6e0280a4f59e4e952b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto merge of #10561 : pcwalton/rust/procify, r=alexcrichton</title>
<updated>2013-11-19T07:06:29+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2013-11-19T07:06:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f4c22f75d46e94985d2fe45c896bde65e991b13d'/>
<id>urn:sha1:f4c22f75d46e94985d2fe45c896bde65e991b13d</id>
<content type='text'>
r? @alexcrichton
</content>
</entry>
</feed>
