<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/windows/time.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>Use GetSystemTimePreciseAsFileTime if it is available</title>
<updated>2020-03-09T16:23:23+00:00</updated>
<author>
<name>Dan Aloni</name>
<email>dan@kernelim.com</email>
</author>
<published>2020-03-09T15:40:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0605abe3bb7b602cbe70a72797fdd6ca90d76e92'/>
<id>urn:sha1:0605abe3bb7b602cbe70a72797fdd6ca90d76e92</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Format the world</title>
<updated>2019-12-22T22:42:47+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2019-12-22T22:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a06baa56b95674fc626b3c3fd680d6a65357fe60'/>
<id>urn:sha1:a06baa56b95674fc626b3c3fd680d6a65357fe60</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Apply clippy::needless_return suggestions</title>
<updated>2019-10-22T17:23:10+00:00</updated>
<author>
<name>Mateusz Mikuła</name>
<email>matti@marinelayer.io</email>
</author>
<published>2019-09-05T11:30:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95c06a29707c8b2f811495c05b0cd009743e29de'/>
<id>urn:sha1:95c06a29707c8b2f811495c05b0cd009743e29de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Avoid usage of `Once` in `Instant`</title>
<updated>2019-04-04T14:19:14+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-04-03T19:18:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cb57484dcaeb4881c73f8a1174d4d5661ca2bbe2'/>
<id>urn:sha1:cb57484dcaeb4881c73f8a1174d4d5661ca2bbe2</id>
<content type='text'>
This commit removes usage of `Once` from the internal implementation of
time utilities on OSX and Windows. It turns out that we accidentally hit
a deadlock today (#59020) via events that look like:

* A thread invokes `park_timeout`
* Internally, only on OSX, `park_timeout` calls `Instant::elapsed`
* Inside of `Instant::elapsed` on OSX we enter a `Once` to initialize
  global timer data
* Inside of `Once`, it attempts to `park`

This means on the same stack frame, when there's contention, we're
calling `park` from inside `park_timeout`, causing a deadlock!

The solution implemented in this commit was to remove usage of `Once`
and instead just do a small dance with atomics. There's no real need we
need to guarantee that the global information is only learned once, only
that it's only *stored* once. This implementation may have multiple
threads invoke `mach_timebase_info`, but only one will store the global
information which will amortize the cost for all other threads.

A similar fix has been applied to windows to be uniform across our
implementations, but looking at the code on Windows no deadlock was
possible. This is purely just a consistency update for Windows and in
theory a slightly leaner implementation.

Closes #59020
</content>
</entry>
<entry>
<title>libstd: deny(elided_lifetimes_in_paths)</title>
<updated>2019-03-31T10:56:51+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-03-01T08:34:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=379c380a60e7b3adb6c6f595222cbfa2d9160a20'/>
<id>urn:sha1:379c380a60e7b3adb6c6f595222cbfa2d9160a20</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update sys::time impls to have checked_sub_instant</title>
<updated>2019-03-22T22:56:40+00:00</updated>
<author>
<name>Linus Färnstrand</name>
<email>faern@faern.net</email>
</author>
<published>2019-03-22T21:14:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1ccad16231f58b09f127e679d54162acbc2f0dae'/>
<id>urn:sha1:1ccad16231f58b09f127e679d54162acbc2f0dae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libstd =&gt; 2018</title>
<updated>2019-02-27T19:06:15+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2019-02-10T19:23:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93b6d9e086c6910118a57e4332c9448ab550931f'/>
<id>urn:sha1:93b6d9e086c6910118a57e4332c9448ab550931f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a comment on the meaning of Instant t: Duration</title>
<updated>2019-01-24T04:36:38+00:00</updated>
<author>
<name>Alex Berghage</name>
<email>bearcage@ludumipsum.com</email>
</author>
<published>2019-01-24T04:36:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=14ce5364de3bf7d2da59fbe52360459c0f2c6ada'/>
<id>urn:sha1:14ce5364de3bf7d2da59fbe52360459c0f2c6ada</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rebase and fix new instantiation fn</title>
<updated>2019-01-23T02:31:55+00:00</updated>
<author>
<name>Alex Berghage</name>
<email>bearcage@ludumipsum.com</email>
</author>
<published>2019-01-23T02:31:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=41be93c2f694b6b8c493b255d2e77c0703135b14'/>
<id>urn:sha1:41be93c2f694b6b8c493b255d2e77c0703135b14</id>
<content type='text'>
</content>
</entry>
</feed>
