mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-23 00:00:10 +02:00
Introduce a tokio-sync crate containing useful synchronization primitives for programs written using Tokio. The initial release contains: * An mpsc channel * A oneshot channel * A semaphore implementation * An `AtomicTask` primitive. The `oneshot` and `mpsc` channels are new implementations providing improved performance characteristics. In some benchmarks, the new mpsc channel shows up to 7x improvement over the version provided by the `futures` crate. Unfortunately, the `oneshot` implementation only provides a slight performance improvement as it is mostly limited by the `futures` 0.1 task system. Once updated to the `std` version of `Future` (currently nightly only), much greater performance improvements should be achievable by `oneshot`. Additionally, he implementations provided here are checked using [Loom](http://github.com/carllerche/loom/), which provides greater confidence of correctness.
23 lines
512 B
YAML
23 lines
512 B
YAML
image: Visual Studio 2017
|
|
environment:
|
|
matrix:
|
|
- TARGET: x86_64-pc-windows-msvc
|
|
platform: x64
|
|
- TARGET: i686-pc-windows-msvc
|
|
platform: x86
|
|
|
|
install:
|
|
- appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
|
|
- rustup-init.exe -y --default-host %TARGET%
|
|
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
|
|
- set RUST_BACKTRACE=1
|
|
- set LOOM_MAX_DURATION=10
|
|
|
|
- rustc -V
|
|
- cargo -V
|
|
|
|
build: false
|
|
|
|
test_script:
|
|
- cargo test --all --no-fail-fast --target %TARGET%
|