uv/crates/uv-dev/src
Ibraheem Ahmed aff9c9bd91
Switch to Current-Thread Tokio Runtime (#4934)
## Summary

Move completely off tokio's multi-threaded runtime. We've slowly been
making changes to be smarter about scheduling in various places instead
of depending on tokio's general purpose work-stealing, notably
https://github.com/astral-sh/uv/pull/3627 and
https://github.com/astral-sh/uv/pull/4004. We now no longer benefit from
the multi-threaded runtime, as we run on all I/O on the main thread.
There's one remaining instance of `block_in_place` that can be swapped
for `rayon::spawn`.

This change is a small performance improvement due to removing some
unnecessary overhead of the multi-threaded runtime (e.g. spawning
threads), but nothing major. It also removes some noise from profiles.

## Test Plan

```
Benchmark 1: ./target/profiling/uv (resolve-warm)
  Time (mean ± σ):      14.9 ms ±   0.3 ms    [User: 3.0 ms, System: 17.3 ms]
  Range (min … max):    14.1 ms …  15.8 ms    169 runs
 
Benchmark 2: ./target/profiling/baseline (resolve-warm)
  Time (mean ± σ):      16.1 ms ±   0.3 ms    [User: 3.9 ms, System: 18.7 ms]
  Range (min … max):    15.1 ms …  17.3 ms    162 runs
 
Summary
  ./target/profiling/uv (resolve-warm) ran
    1.08 ± 0.03 times faster than ./target/profiling/baseline (resolve-warm)
```
2024-07-09 18:21:16 -04:00
..
build.rs Change "toolchain" to "python" (#4735) 2024-07-03 07:44:29 -05:00
clear_compile.rs Add an option to bytecode compile during installation (#2086) 2024-03-05 03:35:24 +00:00
compile.rs Change "toolchain" to "python" (#4735) 2024-07-03 07:44:29 -05:00
generate_json_schema.rs Load configuration options from workspace root (#4295) 2024-06-14 01:26:20 +00:00
main.rs Switch to Current-Thread Tokio Runtime (#4934) 2024-07-09 18:21:16 -04:00
render_benchmarks.rs Move render-benchmarks under a Cargo feature (#3815) 2024-05-24 03:00:53 +00:00
wheel_metadata.rs Use VerbatimParsedUrl in pep508_rs (#3758) 2024-05-23 19:52:47 +00:00