<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/wasi/stdio.rs, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-07-28T00:51:13+00:00</updated>
<entry>
<title>mv std libs to library/</title>
<updated>2020-07-28T00:51:13+00:00</updated>
<author>
<name>mark</name>
<email>markm@cs.wisc.edu</email>
</author>
<published>2020-06-12T02:31:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2c31b45ae878b821975c4ebd94cc1e49f6073fd0'/>
<id>urn:sha1:2c31b45ae878b821975c4ebd94cc1e49f6073fd0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Converted all platform-specific stdin/stdout/stderr implementations to io traits</title>
<updated>2020-06-19T04:15:11+00:00</updated>
<author>
<name>Nathan West</name>
<email>Lucretiel@gmail.com</email>
</author>
<published>2020-06-19T04:15:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c9c434dd8bcd84a30edd070e91f0d6c027333c84'/>
<id>urn:sha1:c9c434dd8bcd84a30edd070e91f0d6c027333c84</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update name</title>
<updated>2020-04-26T11:24:16+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@gmail.com</email>
</author>
<published>2020-03-12T01:02:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=07443f17d4c2e8135d1cbf415f6bd22eee86b64a'/>
<id>urn:sha1:07443f17d4c2e8135d1cbf415f6bd22eee86b64a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Read/Write::can_read/write_vectored</title>
<updated>2020-04-26T11:23:39+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@gmail.com</email>
</author>
<published>2020-01-03T19:26:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=15262ec6be6fcfc9f27e174a0714d5a62e775fb0'/>
<id>urn:sha1:15262ec6be6fcfc9f27e174a0714d5a62e775fb0</id>
<content type='text'>
When working with an arbitrary reader or writer, code that uses vectored
operations may end up being slower than code that copies into a single
buffer when the underlying reader or writer doesn't actually support
vectored operations. These new methods allow you to ask the reader or
witer up front if vectored operations are efficiently supported.

Currently, you have to use some heuristics to guess by e.g. checking if
the read or write only accessed the first buffer. Hyper is one concrete
example of a library that has to do this dynamically:
https://github.com/hyperium/hyper/blob/0eaf304644a396895a4ce1f0146e596640bb666a/src/proto/h1/io.rs#L582-L594
</content>
</entry>
<entry>
<title>Update the `wasi` crate for `wasm32-wasi`</title>
<updated>2019-12-03T15:03:06+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-11-25T17:27:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3fb1c5e95b9fef29df00f0924a27790b03c524b'/>
<id>urn:sha1:f3fb1c5e95b9fef29df00f0924a27790b03c524b</id>
<content type='text'>
This commit updates the `wasi` crate used by the standard library which
is used to implement most of the functionality of libstd on the
`wasm32-wasi` target. This update comes with a brand new crate structure
in the `wasi` crate which caused quite a few changes for the wasi target
here, but it also comes with a significant change to where the
functionality is coming from.

The WASI specification is organized into "snapshots" and a new snapshot
happened recently, so the WASI APIs themselves have changed since the
previous revision. This had only minor impact on the public facing
surface area of libstd, only changing on `u32` to a `u64` in an unstable
API. The actual source for all of these types and such, however, is now
coming from the `wasi_preview_snapshot1` module instead of the
`wasi_unstable` module like before. This means that any implementors
generating binaries will need to ensure that their embedding environment
handles the `wasi_preview_snapshot1` module.
</content>
</entry>
<entry>
<title>fixes</title>
<updated>2019-08-21T14:57:22+00:00</updated>
<author>
<name>newpavlov</name>
<email>newpavlov@gmail.com</email>
</author>
<published>2019-08-21T14:57:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a47e3c077cd7f201dbbf12140c12663df0fcda6f'/>
<id>urn:sha1:a47e3c077cd7f201dbbf12140c12663df0fcda6f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use wasi crate</title>
<updated>2019-08-19T06:47:58+00:00</updated>
<author>
<name>newpavlov</name>
<email>newpavlov@gmail.com</email>
</author>
<published>2019-08-19T06:47:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6896ed383dbd3a847ef39b713449fc0393292828'/>
<id>urn:sha1:6896ed383dbd3a847ef39b713449fc0393292828</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stabilized vectored IO</title>
<updated>2019-04-27T15:34:08+00:00</updated>
<author>
<name>Steven Fackler</name>
<email>sfackler@gmail.com</email>
</author>
<published>2019-04-27T15:34:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bd177f3ea31e47b94dd400239a9badfe2bd47355'/>
<id>urn:sha1:bd177f3ea31e47b94dd400239a9badfe2bd47355</id>
<content type='text'>
This renames `std::io::IoVec` to `std::io::IoSlice` and
`std::io::IoVecMut` to `std::io::IoSliceMut`, and stabilizes
`std::io::IoSlice`, `std::io::IoSliceMut`,
`std::io::Read::read_vectored`, and `std::io::Write::write_vectored`.

Closes #58452
</content>
</entry>
<entry>
<title>std: Add `{read,write}_vectored` for more types</title>
<updated>2019-04-10T19:51:25+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-04-10T19:51:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=acf3ddb5ad163ea98f8935b045fc6d15faefa454'/>
<id>urn:sha1:acf3ddb5ad163ea98f8935b045fc6d15faefa454</id>
<content type='text'>
This commit implements the `{read,write}_vectored` methods on more types
in the standard library, namely:

* `std::fs::File`
* `std::process::ChildStd{in,out,err}`
* `std::io::Std{in,out,err}`
* `std::io::Std{in,out,err}Lock`
* `std::io::Std{in,out,err}Raw`

Where supported the OS implementations hook up to native support,
otherwise it falls back to the already-defaulted implementation.
</content>
</entry>
<entry>
<title>wasi: Use raw syscalls for stdio</title>
<updated>2019-04-01T12:31:48+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-03-31T21:56:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=60f6cbd0028c61bcca181318f48cdf0c6be61231'/>
<id>urn:sha1:60f6cbd0028c61bcca181318f48cdf0c6be61231</id>
<content type='text'>
I've since learned that the mapping between libc fds and wasi fds are
expected to be one-to-one, so we can use the raw syscalls for writing to
stdout/stderr and reading from stdin! This should help ensure that we
don't depend on a C library too unnecessarily.
</content>
</entry>
</feed>
