pub struct InputGroup<I: 'static = (), O = ()> { /* private fields */ }Expand description
InputGroup<Input, OutputValue> is a collection of benchmarks that are run with the same inputs.
It is self-contained and can be run independently.
The ownership of the inputs is transferred to the InputGroup.
If this is not possible, use BenchRunner instead.
Implementations§
Source§impl<I: 'static, O: OutputValue + 'static> InputGroup<I, O>
impl<I: 'static, O: OutputValue + 'static> InputGroup<I, O>
Sourcepub fn new_with_inputs<S: Into<String>>(inputs: Vec<(S, I)>) -> Self
pub fn new_with_inputs<S: Into<String>>(inputs: Vec<(S, I)>) -> Self
The inputs are a vector of tuples, where the first element is the name of the input and the second element is the input itself.
Sourcepub fn throughput<F>(&mut self, f: F)
pub fn throughput<F>(&mut self, f: F)
Enables throughput reporting. The passed closure should return the size of the input in bytes.
Sourcepub fn register<F, S: Into<String>>(&mut self, name: S, fun: F)
pub fn register<F, S: Into<String>>(&mut self, name: S, fun: F)
Register a benchmark with the given name and function.
The return value of the function will be reported as the OutputValue
Sourcepub fn set_name<S: AsRef<str>>(&mut self, name: S)
pub fn set_name<S: AsRef<str>>(&mut self, name: S)
Set the name of the group. The name is printed before the benchmarks are run. It is also used to distinguish when writing the results to disk.
Sourcepub fn config(&mut self) -> &mut Config
pub fn config(&mut self) -> &mut Config
Configure the benchmarking options.
See the Config struct for more information.
Sourcepub fn get_plugin_manager(&mut self) -> &mut PluginManager
pub fn get_plugin_manager(&mut self) -> &mut PluginManager
Returns the plugin manager, which can be used to add and remove plugins. See crate::plugins::PluginManager for more information.
Sourcepub fn add_plugin<L: EventListener + 'static>(
&mut self,
listener: L,
) -> &mut PluginManager
pub fn add_plugin<L: EventListener + 'static>( &mut self, listener: L, ) -> &mut PluginManager
Add a new plugin and returns the PluginManager for chaining.
Trait Implementations§
Auto Trait Implementations§
impl<I, O> Freeze for InputGroup<I, O>
impl<I = (), O = ()> !RefUnwindSafe for InputGroup<I, O>
impl<I = (), O = ()> !Send for InputGroup<I, O>
impl<I = (), O = ()> !Sync for InputGroup<I, O>
impl<I, O> Unpin for InputGroup<I, O>where
I: Unpin,
impl<I = (), O = ()> !UnwindSafe for InputGroup<I, O>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);