Compiling reactive-mutiny v0.1.0 (/tmp/reactive-mutiny) warning: unused macro definition: `impl_uni_channel_for_struct` --> src/uni/channels/mod.rs:100:14 | 100 | macro_rules! impl_uni_channel_for_struct { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_macros)]` on by default warning: unused import: `marker::PhantomData` --> src/multi/channels/ogre_mpmc_queue.rs:24:5 | 24 | marker::PhantomData, | ^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused import: `multi::channels::ogre_mpmc_queue::OgreMPMCQueue` --> src/types.rs:4:5 | 4 | multi::channels::ogre_mpmc_queue::OgreMPMCQueue, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: unused imports: `MaybeUninit`, `fmt::Debug`, `ops::Deref`, `sync::Arc` --> src/types.rs:9:5 | 9 | fmt::Debug, | ^^^^^^^^^^ 10 | mem::{MaybeUninit}, | ^^^^^^^^^^^ 11 | ops::Deref, | ^^^^^^^^^^ 12 | sync::Arc, | ^^^^^^^^^ warning: unused import: `ops::Deref` --> src/ogre_std/ogre_queues/full_sync_queues/full_sync_meta.rs:8:5 | 8 | ops::Deref, | ^^^^^^^^^^ warning: variable does not need to be mutable --> src/multi/channels/ogre_mpmc_queue.rs:107:84 | 107 | ... let element = mutable_self.queues[stream_id as usize].dequeue(|mut item| item.take().expect("godshavfty!! element cannot be None he... | ----^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default warning: unused import: `types::*` --> src/uni/mod.rs:38:9 | 38 | types::*, | ^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused import: `marker::PhantomData` --> src/multi/channels/ogre_mpmc_queue.rs:24:5 | 24 | marker::PhantomData, | ^^^^^^^^^^^^^^^^^^^ warning: unused import: `tokio::task::spawn_blocking` --> src/multi/channels/ogre_mpmc_queue.rs:362:9 | 362 | use tokio::task::spawn_blocking; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: struct `TokioMPSC` is never constructed --> src/uni/channels/tokio_mpsc.rs:16:12 | 16 | pub struct TokioMPSC { | ^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default warning: associated function `new` is never used --> src/uni/channels/tokio_mpsc.rs:24:12 | 24 | pub fn new() -> Arc>> { | ^^^ warning: associated function `consumer_stream` is never used --> src/uni/channels/tokio_mpsc.rs:32:12 | 32 | pub fn consumer_stream(self: &Arc>>) -> Option> { | ^^^^^^^^^^^^^^^ warning: associated function `send` is never used --> src/uni/channels/tokio_mpsc.rs:59:18 | 59 | pub async fn send(&self, item: ItemType) { | ^^^^ warning: associated function `try_send` is never used --> src/uni/channels/tokio_mpsc.rs:66:12 | 66 | pub fn try_send(&self, item: ItemType) -> bool { | ^^^^^^^^ warning: associated function `zero_copy_try_send` is never used --> src/uni/channels/tokio_mpsc.rs:76:15 | 76 | unsafe fn zero_copy_try_send(&self, _item_builder: impl FnOnce(&mut ItemType)) { | ^^^^^^^^^^^^^^^^^^ warning: associated function `flush` is never used --> src/uni/channels/tokio_mpsc.rs:80:18 | 80 | pub async fn flush(&self, timeout: Duration) -> u32 { | ^^^^^ warning: associated function `end_all_streams` is never used --> src/uni/channels/tokio_mpsc.rs:100:18 | 100 | pub async fn end_all_streams(&self, timeout: Duration) -> u32 { | ^^^^^^^^^^^^^^^ warning: associated function `pending_items_count` is never used --> src/uni/channels/tokio_mpsc.rs:109:12 | 109 | pub fn pending_items_count(&self) -> u32 { | ^^^^^^^^^^^^^^^^^^^ warning: struct `AtomicMPMCQueue` is never constructed --> src/uni/channels/atomic_mpmc_queue.rs:19:12 | 19 | pub struct AtomicMPMCQueue src/uni/channels/atomic_mpmc_queue.rs:48:12 | 48 | pub fn consumer_stream(self: &Arc>>) -> Option> { | ^^^^^^^^^^^^^^^ warning: associated function `wake_all_streams` is never used --> src/uni/channels/atomic_mpmc_queue.rs:118:8 | 118 | fn wake_all_streams(&self) { | ^^^^^^^^^^^^^^^^ warning: associated function `wake_stream` is never used --> src/uni/channels/atomic_mpmc_queue.rs:125:8 | 125 | fn wake_stream(&self, stream_id: u32) { | ^^^^^^^^^^^ warning: associated function `new` is never used --> src/uni/channels/atomic_mpmc_queue.rs:147:12 | 147 | pub fn new() -> Arc>> { | ^^^ warning: associated function `zero_copy_try_send` is never used --> src/uni/channels/atomic_mpmc_queue.rs:159:19 | 159 | pub unsafe fn zero_copy_try_send(&self, item_builder: impl Fn(&mut ItemType)) -> bool { | ^^^^^^^^^^^^^^^^^^ warning: associated function `try_send` is never used --> src/uni/channels/atomic_mpmc_queue.rs:166:12 | 166 | pub fn try_send(&self, item: ItemType) -> bool { | ^^^^^^^^ warning: associated function `flush` is never used --> src/uni/channels/atomic_mpmc_queue.rs:172:18 | 172 | pub async fn flush(&self, timeout: Duration) -> u32 { | ^^^^^ warning: associated function `end_all_streams` is never used --> src/uni/channels/atomic_mpmc_queue.rs:193:18 | 193 | pub async fn end_all_streams(&self, timeout: Duration) -> u32 { | ^^^^^^^^^^^^^^^ warning: associated function `pending_items_count` is never used --> src/uni/channels/atomic_mpmc_queue.rs:205:12 | 205 | pub fn pending_items_count(&self) -> u32 { | ^^^^^^^^^^^^^^^^^^^ warning: associated function `buffer_size` is never used --> src/multi/channels/ogre_mpmc_queue.rs:139:8 | 139 | fn buffer_size(&self) -> u32 { | ^^^^^^^^^^^ warning: associated constant `PERCENTILES` is never used --> src/instruments.rs:50:11 | 50 | const PERCENTILES: usize = 16; | ^^^^^^^^^^^ warning: associated function `reset` is never used --> src/incremental_averages.rs:82:8 | 82 | fn reset(&self, weight: u32) { | ^^^^^ warning: associated function `split` is never used --> src/incremental_averages.rs:87:8 | 87 | fn split(&self) -> &IncrementalAveragePair32 { | ^^^^^ warning: associated function `atomic` is never used --> src/incremental_averages.rs:92:8 | 92 | fn atomic(&self) -> &AtomicU64 { | ^^^^^^ warning: function `all_in_and_out_benchmark` is never used --> src/ogre_std/benchmarks.rs:22:8 | 22 | pub fn all_in_and_out_benchmark(container: &(dyn BenchmarkableContainer + Sync), threads: usize, deadline: Duration) -> f64 { | ^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `single_in_and_out_benchmark` is never used --> src/ogre_std/benchmarks.rs:41:8 | 41 | pub fn single_in_and_out_benchmark(container: &(dyn BenchmarkableContainer + Sync), threads: usize, deadline: Duration) -> f64 { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `single_producer_multiple_consumers_benchmark` is never used --> src/ogre_std/benchmarks.rs:58:8 | 58 | pub fn single_producer_multiple_consumers_benchmark(container: &(dyn BenchmarkableContainer + Sync), threads: usize, deadline: Dur... | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `multiple_producers_single_consumer_benchmark` is never used --> src/ogre_std/benchmarks.rs:100:8 | 100 | pub fn multiple_producers_single_consumer_benchmark(container: &(dyn BenchmarkableContainer + Sync), threads: usize, deadline: Dur... | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `compute_operations_per_second` is never used --> src/ogre_std/benchmarks.rs:151:4 | 151 | fn compute_operations_per_second(benchmark_name: String, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: function `keep_looping` is never used --> src/ogre_std/benchmarks.rs:171:4 | 171 | fn keep_looping(start_time: &SystemTime, iterations: &mut u64, deadline: &Duration, loops_per_iteration: u64) -> Option { | ^^^^^^^^^^^^ warning: function `multi_threaded_iterate` is never used --> src/ogre_std/benchmarks.rs:186:8 | 186 | pub fn multi_threaded_iterate(start: usize, finish: usize, threads: usize, callback: impl Fn(u32) -> () + std::marker::Sync) { | ^^^^^^^^^^^^^^^^^^^^^^ warning: function `iterate` is never used --> src/ogre_std/benchmarks.rs:199:4 | 199 | fn iterate(start: usize, finish: usize, step: usize, callback: impl Fn(u32) -> () + std::marker::Sync) { | ^^^^^^^ warning: associated function `into` is never used --> src/ogre_std/instruments.rs:55:18 | 55 | pub const fn into(self) -> usize { | ^^^^ warning: `reactive-mutiny` (lib) generated 39 warnings warning: associated function `send` is never used --> src/uni/channels/tokio_mpsc.rs:59:18 | 59 | pub async fn send(&self, item: ItemType) { | ^^^^ | = note: `#[warn(dead_code)]` on by default warning: `reactive-mutiny` (lib test) generated 14 warnings (10 duplicates) Finished release [optimized] target(s) in 5m 09s Running unittests src/lib.rs (target/release/deps/reactive_mutiny-c113a0ba0612f326) --> LOGGER WAS ALREADY STARTED 2023-03-18T10:13:59.043Z INFO [reactive_mutiny::stream_executor::tests] minstant: is TSC / RDTSC instruction available for time measurement? false running 91 tests test incremental_averages::tests::incremental_averages ... ok <1.194s> test multi::channels::ogre_mpmc_queue::tests::doc_test ... received: a ok <0.001s> test multi::channels::ogre_mpmc_queue::tests::end_streams ... Creating & ending a single stream: Creating & ending two streams: ok <0.108s> test multi::channels::ogre_mpmc_queue::tests::multiple_streams ... ok <1.121s> test multi::channels::ogre_mpmc_queue::tests::on_the_fly_streams ... 1) streams 1 & 2 about to receive a message 2) stream3 should timeout 3) several creations and removals ok <0.037s> test multi::channels::ogre_mpmc_queue::tests::payload_dropping ... ok <0.001s> test multi::channels::ogre_mpmc_queue::tests::performance_measurements ... OgreMPMCQueue (same task / same thread): 3347136.18/s -- 10485760 items processed in 3.132755717s OgreMPMCQueue (different task / same thread): 2179301.76/s -- 10485760 items processed in 4.811522752s OgreMPMCQueue (different task / different thread):